{"id":1101,"name":"hypothesis","ecosystem":"pip","repository_url":"https://github.com/HypothesisWorks/hypothesis","issues_count":4400,"created_at":"2025-06-06T15:01:40.442Z","updated_at":"2025-06-06T15:01:40.442Z","purl":"pkg:pypi/hypothesis","metadata":{"id":1566293,"name":"hypothesis","ecosystem":"pypi","description":"A library for property-based testing","homepage":"https://hypothesis.works","licenses":"MPL-2.0","normalized_licenses":["MPL-2.0"],"repository_url":"https://github.com/HypothesisWorks/hypothesis","keywords_array":["python","testing","fuzzing","property-based-testing"],"namespace":null,"versions_count":1278,"first_release_published_at":"2013-03-10T13:53:06.000Z","latest_release_published_at":"2025-01-13T20:36:11.000Z","latest_release_number":"6.123.17","last_synced_at":"2025-01-14T12:51:29.608Z","created_at":"2022-04-09T06:12:20.028Z","updated_at":"2025-01-14T12:51:30.409Z","registry_url":"https://pypi.org/project/hypothesis/","install_command":"pip install hypothesis --index-url https://pypi.org/simple","documentation_url":"https://hypothesis.readthedocs.io","metadata":{"funding":null,"documentation":"https://hypothesis.readthedocs.io","classifiers":["Development Status :: 5 - Production/Stable","Framework :: Hypothesis","Framework :: Pytest","Intended Audience :: Developers","License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)","Operating System :: Microsoft :: Windows","Operating System :: POSIX","Operating System :: Unix","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Education :: Testing","Topic :: Software Development :: Testing","Typing :: Typed"],"normalized_name":"hypothesis"},"repo_metadata":{"id":7360827,"uuid":"8685799","full_name":"HypothesisWorks/hypothesis","owner":"HypothesisWorks","description":"Hypothesis is a powerful, flexible, and easy to use library for property-based testing.","archived":false,"fork":false,"pushed_at":"2024-10-26T19:41:25.000Z","size":38893,"stargazers_count":7564,"open_issues_count":70,"forks_count":587,"subscribers_count":72,"default_branch":"master","last_synced_at":"2024-10-29T21:59:18.424Z","etag":null,"topics":["fuzzing","property-based-testing","python","testing"],"latest_commit_sha":null,"homepage":"https://hypothesis.works","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HypothesisWorks.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-03-10T13:51:19.000Z","updated_at":"2024-10-29T09:18:58.000Z","dependencies_parsed_at":"2023-12-24T01:22:53.723Z","dependency_job_id":"d2763a0a-f8fe-4cf4-b2df-233c9d863e88","html_url":"https://github.com/HypothesisWorks/hypothesis","commit_stats":{"total_commits":11363,"total_committers":341,"mean_commits":33.32258064516129,"dds":"0.44583296664613214","last_synced_commit":"058420a4d745f19717f55e85b0493d3b68461bc7"},"previous_names":["drmaciver/hypothesis","hypothesisworks/hypothesis-python"],"tags_count":1577,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HypothesisWorks","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233896433,"owners_count":18747242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"HypothesisWorks","name":"Hypothesis","uuid":"18481919","kind":"organization","description":"Hypothesis: Test faster, fix more","email":"hello@hypothesis.works","website":"http://hypothesis.works","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/18481919?v=4","repositories_count":6,"last_synced_at":"2024-03-27T02:02:47.388Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/HypothesisWorks","funding_links":[],"total_stars":7336,"followers":57,"following":0,"created_at":"2022-11-05T01:29:19.234Z","updated_at":"2024-03-27T02:02:47.475Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HypothesisWorks","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HypothesisWorks/repositories"},"tags":[{"name":"hypothesis-python-6.123.4","sha":"87aca3b351089d7348dcc8cec454d432505cdf86","kind":"commit","published_at":"2025-01-06T11:56:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.123.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.123.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.4/manifests"},{"name":"hypothesis-python-6.123.3","sha":"0e905dcbff918f89ccb7e06cdc757d5e390a44e7","kind":"commit","published_at":"2025-01-06T10:32:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.123.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.123.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.3/manifests"},{"name":"hypothesis-python-6.123.2","sha":"82504838248fcd7f127e4f0fafa2d892f64a2f8a","kind":"commit","published_at":"2024-12-27T17:34:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.123.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.123.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.2/manifests"},{"name":"hypothesis-python-6.123.1","sha":"a62bc76f2c87fb2785ac01f3805ad53201089bcb","kind":"commit","published_at":"2024-12-24T09:33:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.123.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.123.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.1/manifests"},{"name":"hypothesis-python-6.123.0","sha":"e6f451990ee86c04a13d4e47b706e3bd1cfd8193","kind":"commit","published_at":"2024-12-23T10:08:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.123.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.123.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.123.0/manifests"},{"name":"hypothesis-python-6.122.7","sha":"218897e372abdc6dcc0331ff80bce961d293dac0","kind":"commit","published_at":"2024-12-23T03:38:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.7/manifests"},{"name":"hypothesis-python-6.122.6","sha":"06c0e6a35bf641826c5fab82e0d83ed0952ecf8a","kind":"commit","published_at":"2024-12-21T17:09:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.6/manifests"},{"name":"hypothesis-python-6.122.5","sha":"ac3d7935e4b7a804c01436b5e8f7c610d7051b14","kind":"commit","published_at":"2024-12-20T14:13:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.5/manifests"},{"name":"hypothesis-python-6.122.4","sha":"d377752a2e98b86e65f49af86895c767a662f994","kind":"commit","published_at":"2024-12-19T04:45:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.4/manifests"},{"name":"hypothesis-python-6.122.3","sha":"904bdd967ca9ff23475aa6abe860a30925149da7","kind":"commit","published_at":"2024-12-08T21:33:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.3/manifests"},{"name":"hypothesis-python-6.122.2","sha":"f3017c1f6f4c186056570f4e4edf8d674e63dbd3","kind":"commit","published_at":"2024-12-08T21:11:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.2/manifests"},{"name":"hypothesis-python-6.122.1","sha":"5065f1369e68b147816b4792a78cf208a89d5119","kind":"commit","published_at":"2024-12-01T19:54:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.1/manifests"},{"name":"hypothesis-python-6.122.0","sha":"fa0d158f8de1baf414dfb975de1a1d5f24cc1cdb","kind":"commit","published_at":"2024-11-29T23:19:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.122.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.122.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.122.0/manifests"},{"name":"hypothesis-python-6.121.2","sha":"690520e34d139628f86e108802a9a83cbca11fbb","kind":"commit","published_at":"2024-11-29T09:03:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.121.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.121.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.121.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.121.2/manifests"},{"name":"hypothesis-python-6.121.1","sha":"3e1767fd3d3d0c84f556067a4bf1adacd93c376b","kind":"commit","published_at":"2024-11-29T02:11:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.121.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.121.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.121.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.121.1/manifests"},{"name":"hypothesis-python-6.121.0","sha":"c274b1ededa858d824883e91ddce803d49f433f6","kind":"commit","published_at":"2024-11-28T06:48:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.121.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.121.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.121.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.121.0/manifests"},{"name":"hypothesis-python-6.120.0","sha":"32817c58ec7f483263decf5e294be5bc8086fe31","kind":"commit","published_at":"2024-11-27T23:39:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.120.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.120.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.120.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.120.0/manifests"},{"name":"hypothesis-python-6.119.4","sha":"4a796091567d3bbd514a488bcfb36afcaf713774","kind":"commit","published_at":"2024-11-22T07:29:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.119.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.119.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.4/manifests"},{"name":"hypothesis-python-6.119.3","sha":"cc87f33f3897df93c91873363990e6cae6f05915","kind":"commit","published_at":"2024-11-17T20:30:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.119.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.119.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.3/manifests"},{"name":"hypothesis-python-6.119.2","sha":"01d5d3e61d1cfeb69f485235557dc6ae386e51e2","kind":"commit","published_at":"2024-11-17T00:33:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.119.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.119.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.2/manifests"},{"name":"hypothesis-python-6.119.1","sha":"4d684245143b69fb632d5ef0131fa0d613982f64","kind":"commit","published_at":"2024-11-15T15:58:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.119.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.119.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.1/manifests"},{"name":"hypothesis-python-6.119.0","sha":"97de5f1590191e114c1de0f9010feef8ea9e3f70","kind":"commit","published_at":"2024-11-15T06:55:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.119.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.119.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.119.0/manifests"},{"name":"hypothesis-python-6.118.9","sha":"2e7d90f4851b7cc9ef405df2dc47764f4c89b70d","kind":"commit","published_at":"2024-11-15T03:33:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.9/manifests"},{"name":"hypothesis-python-6.118.8","sha":"1c60d3367761cb22192166f976197d1b0a17357b","kind":"commit","published_at":"2024-11-12T05:11:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.8/manifests"},{"name":"hypothesis-python-6.118.7","sha":"065887793fb73c1af086094900870ed9a32bb6da","kind":"commit","published_at":"2024-11-10T09:26:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.7/manifests"},{"name":"hypothesis-python-6.118.6","sha":"bf6c5051f45996f5f0bd5a918ed600213a320b23","kind":"commit","published_at":"2024-11-10T06:29:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.6/manifests"},{"name":"hypothesis-python-6.118.5","sha":"67b842e90ee35265bc21c9361419af36f912eec4","kind":"commit","published_at":"2024-11-10T05:11:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.5/manifests"},{"name":"hypothesis-python-6.118.4","sha":"a2ad4b46f271913c04f0456421d5f73a16e98275","kind":"commit","published_at":"2024-11-10T03:05:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.4/manifests"},{"name":"hypothesis-python-6.118.3","sha":"a0f11e7eefd0da51cfd208c1bdf000885c59ba67","kind":"commit","published_at":"2024-11-10T00:01:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.3/manifests"},{"name":"hypothesis-python-6.118.2","sha":"dcbfab086cb14ac57fedd2b03591c172accfc799","kind":"commit","published_at":"2024-11-09T20:23:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.2/manifests"},{"name":"hypothesis-python-6.118.1","sha":"e575bf35bddcc41082ed032b48e15c5e8bbd4535","kind":"commit","published_at":"2024-11-09T16:16:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.1/manifests"},{"name":"hypothesis-python-6.118.0","sha":"2fd99dd01b9653115fa9b10bfbe906388ce35e23","kind":"commit","published_at":"2024-11-08T01:26:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.118.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.118.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.118.0/manifests"},{"name":"hypothesis-python-6.117.0","sha":"7ba5a571e1e9563d6271d11795d491bb69d8c3db","kind":"commit","published_at":"2024-11-07T16:40:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.117.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.117.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.117.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.117.0/manifests"},{"name":"hypothesis-python-6.116.0","sha":"d16b1838a00ffea7a7bc880237a6a027beb92464","kind":"commit","published_at":"2024-11-01T04:42:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.116.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.116.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.116.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.116.0/manifests"},{"name":"hypothesis-python-6.115.6","sha":"8d88e01ab977a94e60b1f8b9e42d65c0cb729529","kind":"commit","published_at":"2024-10-30T00:26:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.115.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.115.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.6/manifests"},{"name":"hypothesis-python-6.115.5","sha":"b9d41db066fad251002796bd0c620b647c8b1840","kind":"commit","published_at":"2024-10-23T22:28:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.115.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.115.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.5/manifests"},{"name":"hypothesis-python-6.115.4","sha":"5f7ca9f8a68a697ff829d513914f5dbf15de4327","kind":"commit","published_at":"2024-10-23T18:50:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.115.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.115.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.4/manifests"},{"name":"hypothesis-python-6.115.3","sha":"957b67211d757894faeae49f44d99e4214b0ac66","kind":"commit","published_at":"2024-10-16T21:54:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.115.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.115.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.3/manifests"},{"name":"hypothesis-python-6.115.2","sha":"86c8b8f59dde6dd927719658ccd71ec9db40e2ec","kind":"commit","published_at":"2024-10-14T21:47:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.115.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.115.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.2/manifests"},{"name":"hypothesis-python-6.115.1","sha":"760373eeb22c8ea81b45b25711ba7f99e0c26e7f","kind":"commit","published_at":"2024-10-14T21:29:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.115.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.115.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.1/manifests"},{"name":"hypothesis-python-6.115.0","sha":"8a014831480d22a824e1266d9aabdb751f33f1de","kind":"commit","published_at":"2024-10-12T20:19:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.115.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.115.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.115.0/manifests"},{"name":"hypothesis-python-6.114.1","sha":"228437fb8593c2e5b5d48561e28be90e4fcc297a","kind":"commit","published_at":"2024-10-10T08:49:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.114.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.114.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.114.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.114.1/manifests"},{"name":"hypothesis-python-6.114.0","sha":"ccdbfeabc3ff04f30b85eb6b31a87736c6053da2","kind":"commit","published_at":"2024-10-09T18:17:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.114.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.114.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.114.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.114.0/manifests"},{"name":"hypothesis-python-6.113.0","sha":"a81d155f06c55f92513f2cd1fd5528c5026501ef","kind":"commit","published_at":"2024-10-09T03:50:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.113.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.113.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.113.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.113.0/manifests"},{"name":"hypothesis-python-6.112.5","sha":"0991e768a14a44a5d487d25d049c39689f5008b0","kind":"commit","published_at":"2024-10-08T05:58:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.112.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.112.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.5/manifests"},{"name":"hypothesis-python-6.112.4","sha":"d13235aa2a068cadccefc51852d5a9d3c7a036b3","kind":"commit","published_at":"2024-10-06T07:36:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.112.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.112.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.4/manifests"},{"name":"hypothesis-python-6.112.3","sha":"e182f6917de18163eab91e3f0a2db1c9e0657e65","kind":"commit","published_at":"2024-10-05T21:34:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.112.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.112.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.3/manifests"},{"name":"hypothesis-python-6.112.2","sha":"83c22d92684b256400a4871a13ad4ffcad447a36","kind":"commit","published_at":"2024-09-29T09:42:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.112.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.112.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.2/manifests"},{"name":"hypothesis-python-6.112.1","sha":"a64b71c7eeff985586782da159945a2bff9933f8","kind":"commit","published_at":"2024-09-13T05:17:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.112.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.112.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.1/manifests"},{"name":"hypothesis-python-6.112.0","sha":"56ef043e1acfbb13558f491fef828538cbdb2e7f","kind":"commit","published_at":"2024-09-05T18:32:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.112.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.112.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.112.0/manifests"},{"name":"hypothesis-python-6.111.2","sha":"e339c5fc24e39bf476fe9586f610e5a7f91062aa","kind":"commit","published_at":"2024-08-24T23:20:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.111.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.111.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.111.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.111.2/manifests"},{"name":"hypothesis-python-6.111.1","sha":"6c51f101954be27eba0d95ee0db07323763dd5b4","kind":"commit","published_at":"2024-08-15T23:30:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.111.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.111.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.111.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.111.1/manifests"},{"name":"hypothesis-python-6.111.0","sha":"b38fe7a6e475008ff4341de2ae984aac8e5e9f43","kind":"commit","published_at":"2024-08-11T20:36:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.111.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.111.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.111.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.111.0/manifests"},{"name":"hypothesis-python-6.110.2","sha":"f1efaf203677fca3ee6de57e66946d572500ce59","kind":"commit","published_at":"2024-08-11T00:45:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.110.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.110.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.110.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.110.2/manifests"},{"name":"hypothesis-python-6.110.1","sha":"b5c44cf62e5dbdab09e41db4fe089f08129a4dbd","kind":"commit","published_at":"2024-08-08T16:13:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.110.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.110.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.110.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.110.1/manifests"},{"name":"hypothesis-python-6.110.0","sha":"5b7de7249ad751e6365243fdcaeebb2991d6fc83","kind":"commit","published_at":"2024-08-07T15:29:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.110.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.110.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.110.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.110.0/manifests"},{"name":"hypothesis-python-6.109.1","sha":"945fb96d5dce481eb94274f7e38d6cb69d1eeaa3","kind":"commit","published_at":"2024-08-07T14:21:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.109.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.109.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.109.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.109.1/manifests"},{"name":"hypothesis-python-6.109.0","sha":"ddfc64f8025b42044e6cea5a6c969989ed3ae811","kind":"commit","published_at":"2024-08-07T08:02:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.109.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.109.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.109.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.109.0/manifests"},{"name":"hypothesis-python-6.108.10","sha":"7557e1415c3f7e8f73a1dfda5412189ad87344b0","kind":"commit","published_at":"2024-08-06T09:12:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.10/manifests"},{"name":"hypothesis-python-6.108.9","sha":"e3e33f877431ad4c0a74fbf5457120b4395d6b4b","kind":"commit","published_at":"2024-08-05T20:52:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.9/manifests"},{"name":"hypothesis-python-6.108.8","sha":"3c15b34ece30825ed153a0b350f5847efb30dd79","kind":"commit","published_at":"2024-08-04T22:00:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.8/manifests"},{"name":"hypothesis-python-6.108.7","sha":"8c75b9efc2d376f0f3a159cf3320896f994196dd","kind":"commit","published_at":"2024-08-04T09:12:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.7/manifests"},{"name":"hypothesis-python-6.108.6","sha":"0291b0506cc5c8bb7462b63572f5df4ad26e80d0","kind":"commit","published_at":"2024-08-04T06:22:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.6/manifests"},{"name":"hypothesis-python-6.108.5","sha":"ba21999d34f0ad251d577b48d6d14a40dfc4c204","kind":"commit","published_at":"2024-07-28T06:40:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.5/manifests"},{"name":"hypothesis-python-6.108.4","sha":"4e5a2493e5efc6e14b5cd1cf331c408b129c6ac7","kind":"commit","published_at":"2024-07-22T18:13:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.4/manifests"},{"name":"hypothesis-python-6.108.3","sha":"dc6b315f95e0dd444d8bb14812f6cb1464120072","kind":"commit","published_at":"2024-07-22T05:57:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.3/manifests"},{"name":"hypothesis-python-6.108.2","sha":"6e7921e19f9bbf87cd7cf3c4c2b0409aad0a2ee9","kind":"commit","published_at":"2024-07-15T02:33:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.2/manifests"},{"name":"hypothesis-python-6.108.1","sha":"dd17cff8b8ff70b20da35b9720eccd22a62b769e","kind":"commit","published_at":"2024-07-14T20:50:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.1/manifests"},{"name":"hypothesis-python-6.108.0","sha":"8977126ce2df4dee6ae17413de6dced28c0f5f5e","kind":"commit","published_at":"2024-07-13T21:06:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.108.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.108.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.108.0/manifests"},{"name":"hypothesis-python-6.107.0","sha":"272185c815fd907fb4066ba339d50926ab9c930e","kind":"commit","published_at":"2024-07-13T00:22:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.107.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.107.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.107.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.107.0/manifests"},{"name":"hypothesis-python-6.106.1","sha":"c350ea4dfa1741e663c9e3075c284241f0335852","kind":"commit","published_at":"2024-07-12T08:02:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.106.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.106.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.106.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.106.1/manifests"},{"name":"hypothesis-python-6.106.0","sha":"a0426add9e1d250c32428317042af71ea831e5c3","kind":"commit","published_at":"2024-07-12T01:04:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.106.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.106.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.106.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.106.0/manifests"},{"name":"hypothesis-python-6.105.2","sha":"f2c1973f93bc168a8c1d9df6e309d8c0015dbae4","kind":"commit","published_at":"2024-07-12T00:40:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.105.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.105.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.105.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.105.2/manifests"},{"name":"hypothesis-python-6.105.1","sha":"3af004234afb6f1567c1f7ccba65caa6bb17ee2e","kind":"commit","published_at":"2024-07-07T09:04:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.105.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.105.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.105.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.105.1/manifests"},{"name":"hypothesis-python-6.105.0","sha":"0ce1c8f75048e28c3ad2dc8dcb4483f8e91b37c1","kind":"commit","published_at":"2024-07-04T22:03:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.105.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.105.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.105.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.105.0/manifests"},{"name":"hypothesis-python-6.104.4","sha":"c96e3bf410276b82d5e5ced37fa619ad7fb8824f","kind":"commit","published_at":"2024-07-04T21:39:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.104.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.104.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.4/manifests"},{"name":"hypothesis-python-6.104.3","sha":"f1f33d827cba4010415a0d56519aafe0c7a6c91c","kind":"commit","published_at":"2024-07-04T19:42:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.104.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.104.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.3/manifests"},{"name":"hypothesis-python-6.104.2","sha":"d8c17832141f587fec9ef89895ed01a4e9c1650d","kind":"commit","published_at":"2024-06-29T04:58:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.104.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.104.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.2/manifests"},{"name":"hypothesis-python-6.104.1","sha":"e51d473907120b3c9b441279b83b9cf549c4df80","kind":"commit","published_at":"2024-06-25T20:45:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.104.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.104.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.1/manifests"},{"name":"hypothesis-python-6.104.0","sha":"49f64cda695338cf3b8c3c2130b81dc40e9db80f","kind":"commit","published_at":"2024-06-24T23:57:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.104.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.104.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.104.0/manifests"},{"name":"hypothesis-python-6.103.5","sha":"efbe8d59063be14c7c655adbabe5f929ead49110","kind":"commit","published_at":"2024-06-24T08:08:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.103.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.103.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.5/manifests"},{"name":"hypothesis-python-6.103.4","sha":"9944b59011606cf3c3e93de2ebd4be3b3b7ad927","kind":"commit","published_at":"2024-06-24T05:49:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.103.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.103.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.4/manifests"},{"name":"hypothesis-python-6.103.3","sha":"7629e02701b18d1d083e66361977feb084b239e9","kind":"commit","published_at":"2024-06-24T03:59:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.103.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.103.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.3/manifests"},{"name":"hypothesis-python-6.103.2","sha":"926411eedd496af69c5057c0b588175660c32804","kind":"commit","published_at":"2024-06-14T21:31:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.103.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.103.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.2/manifests"},{"name":"hypothesis-python-6.103.1","sha":"395649aa005999e475c28f28d9f17a7e7d82f065","kind":"commit","published_at":"2024-06-05T21:23:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.103.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.103.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.1/manifests"},{"name":"hypothesis-python-6.103.0","sha":"54d029d3cdbd78419f3496faa3eb39b57cde03b3","kind":"commit","published_at":"2024-05-29T03:34:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.103.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.103.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.103.0/manifests"},{"name":"hypothesis-python-6.102.6","sha":"9537c75ef2fb0e3344635fbb9ae2b008f5834818","kind":"commit","published_at":"2024-05-23T17:53:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.102.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.102.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.6/manifests"},{"name":"hypothesis-python-6.102.5","sha":"259813ab310f38af2219de83dc2f79f6fb9c77ff","kind":"commit","published_at":"2024-05-22T22:22:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.102.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.102.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.5/manifests"},{"name":"hypothesis-python-6.102.4","sha":"26ea5710a435864337dfc1088ac77ee15eb6a314","kind":"commit","published_at":"2024-05-15T04:50:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.102.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.102.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.4/manifests"},{"name":"hypothesis-python-6.102.3","sha":"049ca7d1d53c990cfe8e391f96ac00d64918a6a5","kind":"commit","published_at":"2024-05-15T03:41:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.102.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.102.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.3/manifests"},{"name":"hypothesis-python-6.102.2","sha":"c42bbc736b318cbbf6a32e21899e1f9cd5b67b74","kind":"commit","published_at":"2024-05-15T02:00:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.102.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.102.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.2/manifests"},{"name":"hypothesis-python-6.102.1","sha":"4e77eea09b7867e1283f27b5b097cd0407d981b1","kind":"commit","published_at":"2024-05-13T18:32:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.102.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.102.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.1/manifests"},{"name":"hypothesis-python-6.102.0","sha":"eb8691134f3ddaa6a865fc177503cbf00f25879e","kind":"commit","published_at":"2024-05-13T17:15:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.102.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.102.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.102.0/manifests"},{"name":"hypothesis-python-6.101.0","sha":"fbf5945f363e241b69a3bd8bcfc8acb00e9bd49c","kind":"commit","published_at":"2024-05-13T05:17:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.101.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.101.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.101.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.101.0/manifests"},{"name":"hypothesis-python-6.100.8","sha":"8fa3d7c1762c47a00cda62b238e96d9a29418197","kind":"commit","published_at":"2024-05-13T02:22:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.8/manifests"},{"name":"hypothesis-python-6.100.7","sha":"88c80f7eff58b0680ad1d288c088dd54f6844e6c","kind":"commit","published_at":"2024-05-12T08:38:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.7/manifests"},{"name":"hypothesis-python-6.100.6","sha":"89b78c22578b5071942767421fab0a8063c62b1f","kind":"commit","published_at":"2024-05-10T17:27:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.6/manifests"},{"name":"hypothesis-python-6.100.5","sha":"4071c30d64bbe0f8f530db1418132e490f12e4ce","kind":"commit","published_at":"2024-05-06T21:24:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.5/manifests"},{"name":"hypothesis-python-6.100.4","sha":"26e8db773e157aaa95cc4a3eddf0d819bec9d31a","kind":"commit","published_at":"2024-05-05T00:07:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.4/manifests"},{"name":"hypothesis-python-6.100.3","sha":"70a72bbdc4195b5a661191baa886c8ddef26b3a7","kind":"commit","published_at":"2024-05-04T22:36:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.3/manifests"},{"name":"hypothesis-python-6.100.2","sha":"8005910d4160778c08abb974f41b52b00e19324b","kind":"commit","published_at":"2024-04-28T04:45:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.2/manifests"},{"name":"hypothesis-python-6.100.1","sha":"5578efc734aeeaf3375b69e2d8fc77de9d80cc9a","kind":"commit","published_at":"2024-04-08T20:05:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.1/manifests"},{"name":"hypothesis-python-6.100.0","sha":"6867da71beae0e4ed004b54b92ef7c74d0722815","kind":"commit","published_at":"2024-03-31T22:30:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.100.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.100.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.100.0/manifests"},{"name":"hypothesis-python-6.99.13","sha":"15ae3c2f132a00ae95c7302f664a4aa40fd25f94","kind":"commit","published_at":"2024-03-24T16:24:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.13","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.13/manifests"},{"name":"hypothesis-python-6.99.12","sha":"58a84a47bafad3fa87743e7e299a8c9e33da8b4c","kind":"commit","published_at":"2024-03-23T09:03:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.12/manifests"},{"name":"hypothesis-python-6.99.11","sha":"98634bd9743e0e8cae4550bb54758508ff414b39","kind":"commit","published_at":"2024-03-20T22:15:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.11/manifests"},{"name":"hypothesis-python-6.99.10","sha":"7fc2e5f131d0d9ec614e22d35b34283eab28565a","kind":"commit","published_at":"2024-03-20T21:30:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.10/manifests"},{"name":"hypothesis-python-6.99.9","sha":"7ade69fd4f92f18fd83d20ea1986cb7c1a1f2757","kind":"commit","published_at":"2024-03-19T06:05:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.9/manifests"},{"name":"hypothesis-python-6.99.8","sha":"51bb792ebd86aeefa413d691692b5076d2999a35","kind":"commit","published_at":"2024-03-18T04:40:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.8/manifests"},{"name":"hypothesis-python-6.99.7","sha":"212950339b71af196b410afa83ec1574b638047f","kind":"commit","published_at":"2024-03-18T02:55:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.7/manifests"},{"name":"hypothesis-python-6.99.6","sha":"747cca0539f69c6c00464471475f80851df22244","kind":"commit","published_at":"2024-03-14T16:38:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.6/manifests"},{"name":"hypothesis-python-6.99.5","sha":"5eeb51ad38a44fefdc4b82dc0062487968ee089a","kind":"commit","published_at":"2024-03-12T08:08:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.5/manifests"},{"name":"hypothesis-python-6.99.4","sha":"c3b4af92800b7134481aae2567624ac4fcc53b3d","kind":"commit","published_at":"2024-03-11T20:17:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.4/manifests"},{"name":"hypothesis-python-6.99.3","sha":"d739e0d815e2e83740e560cd4f4ec21bb02caaed","kind":"commit","published_at":"2024-03-11T17:33:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.3/manifests"},{"name":"hypothesis-python-6.99.2","sha":"57d5087baa596e27de3c257cd1de33d9f5230774","kind":"commit","published_at":"2024-03-10T21:39:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.2/manifests"},{"name":"hypothesis-python-6.99.1","sha":"a8f83d1fdd16b206daccbe2ab7906ed73fb0d77d","kind":"commit","published_at":"2024-03-10T05:38:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.1/manifests"},{"name":"hypothesis-python-6.99.0","sha":"90417892c55c21da0b95b24e5d2a0be42b40e593","kind":"commit","published_at":"2024-03-09T20:48:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.99.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.99.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.99.0/manifests"},{"name":"hypothesis-python-6.98.18","sha":"8db7d5f99171f609a72fb2dc84a715fa3ac1cbc0","kind":"commit","published_at":"2024-03-09T09:17:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.18","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.18/manifests"},{"name":"hypothesis-python-6.98.17","sha":"059357de8c4b04ac2d66d4104fbd3cc15b99c350","kind":"commit","published_at":"2024-03-04T04:04:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.17","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.17/manifests"},{"name":"hypothesis-python-6.98.16","sha":"30c2b9669ec9dd497d2bd1c8caa6e7dd13a19f2e","kind":"commit","published_at":"2024-03-04T02:49:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.16","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.16/manifests"},{"name":"hypothesis-python-6.98.15","sha":"f1fd1a4dd73b2e7b929504bb873b33f7972c8f5b","kind":"commit","published_at":"2024-02-29T11:30:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.15","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.15/manifests"},{"name":"hypothesis-python-6.98.14","sha":"94571978d89c89acab23f14d33db6f12e9ac018f","kind":"commit","published_at":"2024-02-29T10:13:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.14","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.14/manifests"},{"name":"hypothesis-python-6.98.13","sha":"1be554465a77cf2dfb75af1e9358efe104bf8387","kind":"commit","published_at":"2024-02-27T10:48:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.13","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.13/manifests"},{"name":"hypothesis-python-6.98.12","sha":"16f5205a2050231851f55505b40d480beef62bfe","kind":"commit","published_at":"2024-02-25T10:31:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.12/manifests"},{"name":"hypothesis-python-6.98.11","sha":"3eea8c5ee1ceefea7b97697a102f6d5b5704c892","kind":"commit","published_at":"2024-02-24T06:53:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.11/manifests"},{"name":"hypothesis-python-6.98.10","sha":"405b7a99fc0bb5bcab09aa7b3af7694ef6334e3f","kind":"commit","published_at":"2024-02-22T17:15:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.10/manifests"},{"name":"hypothesis-python-6.98.9","sha":"21fd9173fa277414cab2972838ccce5add276f5f","kind":"commit","published_at":"2024-02-20T01:45:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.9/manifests"},{"name":"hypothesis-python-6.98.8","sha":"05971f05e43e0e9b43e1fe0bc017f95efd856c07","kind":"commit","published_at":"2024-02-18T09:31:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.8/manifests"},{"name":"hypothesis-python-6.98.7","sha":"ae2ff825e8700bd2d7d6cd996a9beaa161c19ed5","kind":"commit","published_at":"2024-02-18T02:27:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.7/manifests"},{"name":"hypothesis-python-6.98.6","sha":"32c9961c757501de444409542f38256e83873155","kind":"commit","published_at":"2024-02-15T09:26:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.6/manifests"},{"name":"hypothesis-python-6.98.5","sha":"ca2d68e2948ed342c07ec36af6b53f119eb0c920","kind":"commit","published_at":"2024-02-14T23:55:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.5/manifests"},{"name":"hypothesis-python-6.98.4","sha":"56319cb80f2b1df9d0776aa73a0696ff6db19df7","kind":"commit","published_at":"2024-02-12T07:06:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.4/manifests"},{"name":"hypothesis-python-6.98.3","sha":"2ae364a5da9e0b4324d85b616ffaeb8e481ef342","kind":"commit","published_at":"2024-02-08T05:43:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.3/manifests"},{"name":"hypothesis-python-6.98.2","sha":"78b5d71a64424fbf35f3a0ff8c0d464b828117e9","kind":"commit","published_at":"2024-02-05T21:37:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.2/manifests"},{"name":"hypothesis-python-6.98.1","sha":"5ec646c0c15ae2f7dba658c6ba799244f6ab84b2","kind":"commit","published_at":"2024-02-05T01:52:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.1/manifests"},{"name":"hypothesis-python-6.98.0","sha":"afca97ea85f77b37aa7856d6347ca7f12be9142c","kind":"commit","published_at":"2024-02-05T00:26:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.98.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.98.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.98.0/manifests"},{"name":"hypothesis-python-6.97.6","sha":"e677b04a290b317a9cb34d8380ec57f2f75981d0","kind":"commit","published_at":"2024-02-04T21:27:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.97.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.97.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.6/manifests"},{"name":"hypothesis-python-6.97.5","sha":"eb646622bb3a19e3a0e8891c24ddecaaa18145c8","kind":"commit","published_at":"2024-02-03T11:36:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.97.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.97.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.5/manifests"},{"name":"hypothesis-python-6.97.4","sha":"c99d59f8d4571b0f3528bc51065676d4c84fe138","kind":"commit","published_at":"2024-01-31T20:49:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.97.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.97.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.4/manifests"},{"name":"hypothesis-python-6.97.3","sha":"0bd379c2282d5f883f7fca8eba1678ce58b73e47","kind":"commit","published_at":"2024-01-30T12:41:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.97.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.97.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.3/manifests"},{"name":"hypothesis-python-6.97.2","sha":"7b634834b1dfa00674d1b614a7bb857017bf8d7c","kind":"commit","published_at":"2024-01-30T07:14:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.97.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.97.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.2/manifests"},{"name":"hypothesis-python-6.97.1","sha":"17e23f27fb780cfea32cdd62a1ea20905cd7fe4b","kind":"commit","published_at":"2024-01-27T08:48:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.97.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.97.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.1/manifests"},{"name":"hypothesis-python-6.97.0","sha":"626d45dd2cf8d4021e370d54b2cc4dcfab7eac4e","kind":"commit","published_at":"2024-01-25T05:56:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.97.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.97.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.97.0/manifests"},{"name":"hypothesis-python-6.96.4","sha":"fc6939a433cbcc065337b9fb3ba206e072acfe2a","kind":"commit","published_at":"2024-01-23T10:51:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.96.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.96.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.4/manifests"},{"name":"hypothesis-python-6.96.3","sha":"1119e7dfacbc97aa861d518716c6a962caafd53d","kind":"commit","published_at":"2024-01-22T22:26:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.96.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.96.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.3/manifests"},{"name":"hypothesis-python-6.96.2","sha":"775ed9125f8429b6a92912c723d0cefee8b664cf","kind":"commit","published_at":"2024-01-21T07:33:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.96.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.96.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.2/manifests"},{"name":"hypothesis-python-6.96.1","sha":"ad5e2b056b1ff9078c0e19d1b39716dfb65706a2","kind":"commit","published_at":"2024-01-18T06:59:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.96.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.96.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.1/manifests"},{"name":"hypothesis-python-6.96.0","sha":"9b090d5c77f3990820b33ebb8090051f5ea87df6","kind":"commit","published_at":"2024-01-17T13:12:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.96.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.96.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.96.0/manifests"},{"name":"hypothesis-python-6.95.0","sha":"f356f35e5d8c1d1b98091280ae4024f6534efc53","kind":"commit","published_at":"2024-01-17T06:24:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.95.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.95.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.95.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.95.0/manifests"},{"name":"hypothesis-python-6.94.0","sha":"8056c5574a772345fa5881720b044a77a4e44a96","kind":"commit","published_at":"2024-01-16T14:18:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.94.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.94.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.94.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.94.0/manifests"},{"name":"hypothesis-python-6.93.2","sha":"fd426142c76de1db692ca28c3c606b8973dd34e0","kind":"commit","published_at":"2024-01-15T23:50:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.93.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.93.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.93.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.93.2/manifests"},{"name":"hypothesis-python-6.93.1","sha":"9b182e9d4b876cdf2282644506a9925ee9baaa55","kind":"commit","published_at":"2024-01-15T07:22:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.93.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.93.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.93.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.93.1/manifests"},{"name":"hypothesis-python-6.93.0","sha":"8d557c1a453eb06fba3947449b55b0b08c855f15","kind":"commit","published_at":"2024-01-13T08:09:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.93.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.93.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.93.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.93.0/manifests"},{"name":"hypothesis-python-6.92.9","sha":"5bfec0da2a10b86bdda886647bac7deac797e6e5","kind":"commit","published_at":"2024-01-12T06:02:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.9/manifests"},{"name":"hypothesis-python-6.92.8","sha":"853ceaef7f83b026a10b9352345c791ca1821551","kind":"commit","published_at":"2024-01-11T04:24:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.8/manifests"},{"name":"hypothesis-python-6.92.7","sha":"980042e4018069cf24f6c161434378a353586a76","kind":"commit","published_at":"2024-01-10T11:02:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.7/manifests"},{"name":"hypothesis-python-6.92.6","sha":"91bd22ef00c47ee8f1940d22191811c07a417f00","kind":"commit","published_at":"2024-01-08T22:36:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.6/manifests"},{"name":"hypothesis-python-6.92.5","sha":"885c6bf6739c9f244b8f9c76afdf6cfe25b5091f","kind":"commit","published_at":"2024-01-08T12:50:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.5/manifests"},{"name":"hypothesis-python-6.92.4","sha":"5c52eefe532e985f552d6a91f8d7354750588a43","kind":"commit","published_at":"2024-01-08T07:31:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.4/manifests"},{"name":"hypothesis-python-6.92.3","sha":"eee639382cdac7550da09438d6df3a8f0b677a87","kind":"commit","published_at":"2024-01-08T03:42:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.3/manifests"},{"name":"hypothesis-python-6.92.2","sha":"6da7c6f9b7f8b838fcc83e3c4274cc4b1a56896b","kind":"commit","published_at":"2023-12-27T01:25:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.2/manifests"},{"name":"hypothesis-python-6.92.1","sha":"6a6c1cf553a99d82af5baf6eeed848d0968600e8","kind":"commit","published_at":"2023-12-16T05:36:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.1/manifests"},{"name":"hypothesis-python-6.92.0","sha":"8d0e2c8d889c5ef0ec47a456952611ddbbd36f99","kind":"commit","published_at":"2023-12-10T01:47:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.92.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.92.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.92.0/manifests"},{"name":"hypothesis-python-6.91.2","sha":"b90dc96b984ac2aaceb38190b33524746a0273f0","kind":"commit","published_at":"2023-12-10T00:02:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.91.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.91.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.91.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.91.2/manifests"},{"name":"hypothesis-python-6.91.1","sha":"10b7e787367f5faee3a4f22d37349d96f79d1317","kind":"commit","published_at":"2023-12-08T03:10:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.91.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.91.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.91.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.91.1/manifests"},{"name":"hypothesis-python-6.91.0","sha":"66958d2a92e722f298f5956323c61c9716036b45","kind":"commit","published_at":"2023-11-27T09:25:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.91.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.91.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.91.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.91.0/manifests"},{"name":"hypothesis-python-6.90.1","sha":"47c286d94f1e2ad2dfc7b2d7c5e86afcbd614d34","kind":"commit","published_at":"2023-11-27T08:33:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.90.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.90.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.90.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.90.1/manifests"},{"name":"hypothesis-python-6.90.0","sha":"7fad347fdc1552057b9c33b37f036d62b029c86c","kind":"commit","published_at":"2023-11-20T02:33:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.90.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.90.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.90.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.90.0/manifests"},{"name":"hypothesis-python-6.89.1","sha":"0b7d1c2d581a62db64baba75227c96d5dac005a6","kind":"commit","published_at":"2023-11-19T20:38:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.89.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.89.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.89.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.89.1/manifests"},{"name":"hypothesis-python-6.89.0","sha":"c5efb04934e573499001177a6474454600c2df6e","kind":"commit","published_at":"2023-11-16T05:54:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.89.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.89.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.89.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.89.0/manifests"},{"name":"hypothesis-python-6.88.4","sha":"226268c9acccc68de89308741151116c9c899256","kind":"commit","published_at":"2023-11-13T07:42:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.88.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.88.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.4/manifests"},{"name":"hypothesis-python-6.88.3","sha":"a35c0cc89fb21b132993cdf56c2715966e572a90","kind":"commit","published_at":"2023-11-05T02:32:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.88.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.88.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.3/manifests"},{"name":"hypothesis-python-6.88.2","sha":"5401530075b680cbc8f9e92b83ab603003854063","kind":"commit","published_at":"2023-11-05T00:57:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.88.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.88.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.2/manifests"},{"name":"hypothesis-python-6.88.1","sha":"12b67966559a923ff0c3aa5e8a6dd8b6584ef16c","kind":"commit","published_at":"2023-10-16T16:21:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.88.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.88.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.1/manifests"},{"name":"hypothesis-python-6.88.0","sha":"b4ddfd13e60f7813799acf82f32b9fdc15ba4767","kind":"commit","published_at":"2023-10-15T22:23:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.88.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.88.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.88.0/manifests"},{"name":"hypothesis-python-6.87.4","sha":"9606972cefe28347cdbc8287f9e7d36198647bfb","kind":"commit","published_at":"2023-10-12T20:49:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.87.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.87.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.4/manifests"},{"name":"hypothesis-python-6.87.3","sha":"5278b7cf4815857c0147389107060a8bf340d256","kind":"commit","published_at":"2023-10-06T17:13:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.87.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.87.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.3/manifests"},{"name":"hypothesis-python-6.87.2","sha":"df000ca667919ada45ce57cb67e94e12d304ce16","kind":"commit","published_at":"2023-10-06T08:19:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.87.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.87.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.2/manifests"},{"name":"hypothesis-python-6.87.1","sha":"531d338b7fa80136204e52cbd92b27130ffe8fbe","kind":"commit","published_at":"2023-10-01T07:07:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.87.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.87.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.1/manifests"},{"name":"hypothesis-python-6.87.0","sha":"8a76f8afe38411b95399cef315b6593ee8db6c11","kind":"commit","published_at":"2023-09-25T01:10:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.87.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.87.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.87.0/manifests"},{"name":"hypothesis-python-6.86.2","sha":"f73dab79a02a3b1bffdec3668a194d6da692147c","kind":"commit","published_at":"2023-09-18T16:03:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.86.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.86.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.86.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.86.2/manifests"},{"name":"hypothesis-python-6.86.1","sha":"2d0577522a5d6b3cf484c32e6b9b49c7d8f8be2a","kind":"commit","published_at":"2023-09-17T07:59:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.86.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.86.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.86.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.86.1/manifests"},{"name":"hypothesis-python-6.86.0","sha":"2040b09fa63818ee825c6480cba84532c1d86113","kind":"commit","published_at":"2023-09-17T04:59:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.86.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.86.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.86.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.86.0/manifests"},{"name":"hypothesis-python-6.85.1","sha":"bf4f19387a264827071f540fc460702a5d3cf5a3","kind":"commit","published_at":"2023-09-16T23:39:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.85.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.85.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.85.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.85.1/manifests"},{"name":"hypothesis-python-6.85.0","sha":"8578cdde01d98ccb13f69f50903b331638c92198","kind":"commit","published_at":"2023-09-16T21:36:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.85.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.85.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.85.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.85.0/manifests"},{"name":"hypothesis-python-6.84.3","sha":"019a9ef97caecc4102cfe3da6d78eff6689377cc","kind":"commit","published_at":"2023-09-10T23:05:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.84.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.84.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.3/manifests"},{"name":"hypothesis-python-6.84.2","sha":"85fe780c7f7d0f625b45a41830705c7250ac46e4","kind":"commit","published_at":"2023-09-06T09:27:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.84.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.84.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.2/manifests"},{"name":"hypothesis-python-6.84.1","sha":"911c420f8a1ea9e17306d1bf724cdb8dd69dcd88","kind":"commit","published_at":"2023-09-05T17:30:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.84.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.84.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.1/manifests"},{"name":"hypothesis-python-6.84.0","sha":"56c065a37d121b8cd93b4fc3e666d19f898806b6","kind":"commit","published_at":"2023-09-04T10:09:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.84.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.84.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.84.0/manifests"},{"name":"hypothesis-python-6.83.2","sha":"a173366cc6c00f68c9b0a23aee6c44b97b8f1a85","kind":"commit","published_at":"2023-09-04T06:20:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.83.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.83.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.83.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.83.2/manifests"},{"name":"hypothesis-python-6.83.1","sha":"2730c72d18f9d28f6005e08db8b70677e9cfcd8b","kind":"commit","published_at":"2023-09-03T19:39:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.83.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.83.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.83.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.83.1/manifests"},{"name":"hypothesis-python-6.83.0","sha":"621fed2a067b379b24ccca031a80160eee9ea481","kind":"commit","published_at":"2023-09-01T06:46:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.83.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.83.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.83.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.83.0/manifests"},{"name":"hypothesis-python-6.82.7","sha":"0560fceffce0e6102fcf175cebb61a3b96360a61","kind":"commit","published_at":"2023-08-28T19:31:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.7/manifests"},{"name":"hypothesis-python-6.82.6","sha":"4e675dee1a4cba9d6902290bbc5719fd72072ec7","kind":"commit","published_at":"2023-08-20T19:30:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.6/manifests"},{"name":"hypothesis-python-6.82.5","sha":"e20023bcddf826b4954aaa5422cce8ce83133fba","kind":"commit","published_at":"2023-08-18T06:18:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.5/manifests"},{"name":"hypothesis-python-6.82.4","sha":"ad3416cbacd93fdcf059d138883581a4c1fda54d","kind":"commit","published_at":"2023-08-12T21:59:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.4/manifests"},{"name":"hypothesis-python-6.82.3","sha":"c7a85b899a9eb8687402b3626742a7c8f73a69c2","kind":"commit","published_at":"2023-08-08T08:43:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.3/manifests"},{"name":"hypothesis-python-6.82.2","sha":"1b2375ba2765a23b610c5bbf03dca5539066d3a5","kind":"commit","published_at":"2023-08-06T19:58:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.2/manifests"},{"name":"hypothesis-python-6.82.1","sha":"41dd521922528b51e27393ec348c7ca960fbd167","kind":"commit","published_at":"2023-08-05T22:41:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.1/manifests"},{"name":"hypothesis-python-6.82.0","sha":"9e180fb813c0fb6bf74884b843ad823714ec46c5","kind":"commit","published_at":"2023-07-20T03:13:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.82.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.82.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.82.0/manifests"},{"name":"hypothesis-python-6.81.2","sha":"36bb4ca7efcd3029e071f55a2a7124504b1ce0a6","kind":"commit","published_at":"2023-07-15T09:30:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.81.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.81.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.81.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.81.2/manifests"},{"name":"hypothesis-python-6.81.1","sha":"e7638164f3b145cf1c2298df641a508153c65bc4","kind":"commit","published_at":"2023-07-11T00:12:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.81.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.81.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.81.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.81.1/manifests"},{"name":"hypothesis-python-6.81.0","sha":"d0090f2eb5e35edb811488d83661def677df7ea4","kind":"commit","published_at":"2023-07-10T17:49:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.81.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.81.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.81.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.81.0/manifests"},{"name":"hypothesis-python-6.80.1","sha":"32d8476c0008ae8ead543e2308ade4cff6b379c6","kind":"commit","published_at":"2023-07-06T16:35:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.80.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.80.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.80.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.80.1/manifests"},{"name":"hypothesis-python-6.80.0","sha":"1ebaed8341b40572bd73a3bcf73d6601bffe9538","kind":"commit","published_at":"2023-06-27T22:14:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.80.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.80.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.80.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.80.0/manifests"},{"name":"hypothesis-python-6.79.4","sha":"03d12fb1a905a2ff647cb38bc8106efb33b705ea","kind":"commit","published_at":"2023-06-27T18:53:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.79.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.79.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.4/manifests"},{"name":"hypothesis-python-6.79.3","sha":"981d01e7bd015058e3443bf28afd692411bc3bb3","kind":"commit","published_at":"2023-06-26T03:53:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.79.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.79.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.3/manifests"},{"name":"hypothesis-python-6.79.2","sha":"7f2d8d0fbf235437fc786cb5c4e0e4a6d2d66b4e","kind":"commit","published_at":"2023-06-22T09:05:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.79.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.79.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.2/manifests"},{"name":"hypothesis-python-6.79.1","sha":"de05c94c002becadd5ca6ec847fe86cae7e27688","kind":"commit","published_at":"2023-06-19T01:55:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.79.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.79.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.1/manifests"},{"name":"hypothesis-python-6.79.0","sha":"42b7595463778a9f362bc69b6e02a095f2114f4b","kind":"commit","published_at":"2023-06-17T22:09:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.79.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.79.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.79.0/manifests"},{"name":"hypothesis-python-6.78.3","sha":"3408272d389e9fe0ae82e3f975ac462a079a3368","kind":"commit","published_at":"2023-06-15T22:58:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.78.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.78.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.3/manifests"},{"name":"hypothesis-python-6.78.2","sha":"9484551150cff1125d17c01bc8f94e5873092c0d","kind":"commit","published_at":"2023-06-13T10:41:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.78.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.78.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.2/manifests"},{"name":"hypothesis-python-6.78.1","sha":"85430ddc9703abdf99abc80678bb19e56820542a","kind":"commit","published_at":"2023-06-12T01:03:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.78.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.78.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.1/manifests"},{"name":"hypothesis-python-6.78.0","sha":"84fec3649b3cf4b31e6e8fa6fcc8a92c66aea22e","kind":"commit","published_at":"2023-06-11T17:53:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.78.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.78.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.78.0/manifests"},{"name":"hypothesis-python-6.77.0","sha":"91bbc5c8e71f804189c6e87ac3b5e92fe5120477","kind":"commit","published_at":"2023-06-09T07:39:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.77.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.77.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.77.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.77.0/manifests"},{"name":"hypothesis-python-6.76.0","sha":"fc566bf820a4b418a6cf54a15defbe9b44aaca5d","kind":"commit","published_at":"2023-06-04T18:40:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.76.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.76.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.76.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.76.0/manifests"},{"name":"hypothesis-python-6.75.9","sha":"8cce2dbf733bba78257b4d3fe3ac5c42b9a43820","kind":"commit","published_at":"2023-05-31T19:27:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.9/manifests"},{"name":"hypothesis-python-6.75.8","sha":"1d436c0fd312967a6e45cdd81d7ed34d1a57a8bb","kind":"commit","published_at":"2023-05-31T17:20:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.8/manifests"},{"name":"hypothesis-python-6.75.7","sha":"6b3da33675e08a7f2752ebeab514468d7466f731","kind":"commit","published_at":"2023-05-30T23:52:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.7/manifests"},{"name":"hypothesis-python-6.75.6","sha":"9775af9d4bb15e45cc7bf31fdfbe900d0b81bb8c","kind":"commit","published_at":"2023-05-27T09:53:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.6/manifests"},{"name":"hypothesis-python-6.75.5","sha":"fc161f8f18b4d34e636adc024eec095978c89461","kind":"commit","published_at":"2023-05-26T15:40:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.5/manifests"},{"name":"hypothesis-python-6.75.4","sha":"2a46458540e66cf599a7f925ea57fe0fad5c63fa","kind":"commit","published_at":"2023-05-26T11:33:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.4/manifests"},{"name":"hypothesis-python-6.75.3","sha":"d91144a296e99ab308c4a834f3573c27ba0cc375","kind":"commit","published_at":"2023-05-14T01:16:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.3/manifests"},{"name":"hypothesis-python-6.75.2","sha":"bb99e391da6f7003292a08e9add1ca4c06819ce2","kind":"commit","published_at":"2023-05-04T23:29:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.2/manifests"},{"name":"hypothesis-python-6.75.1","sha":"f7b5da6e2f95da93ea5ad3a625bcfe4d808c70a1","kind":"commit","published_at":"2023-04-30T19:15:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.1/manifests"},{"name":"hypothesis-python-6.75.0","sha":"b926247189b233571ff7971f6866d48353219430","kind":"commit","published_at":"2023-04-30T06:36:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.75.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.75.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.75.0/manifests"},{"name":"hypothesis-python-6.74.1","sha":"40b8bd210b1acf268c40387a6aa6ea90150d8ffe","kind":"commit","published_at":"2023-04-28T00:00:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.74.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.74.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.74.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.74.1/manifests"},{"name":"hypothesis-python-6.73.1","sha":"1fbbcb7077808a02414c1a3f418ef21d73f45eba","kind":"commit","published_at":"2023-04-27T22:05:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.73.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.73.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.73.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.73.1/manifests"},{"name":"hypothesis-python-6.74.0","sha":"6ed50546d1aded6dae9926789a48d0a7bce95728","kind":"commit","published_at":"2023-04-26T08:03:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.74.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.74.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.74.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.74.0/manifests"},{"name":"hypothesis-python-6.72.4","sha":"d5b3ce78af56668c3cbdb7f54223730550508aaf","kind":"commit","published_at":"2023-04-25T04:16:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.72.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.72.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.4/manifests"},{"name":"hypothesis-python-6.72.3","sha":"be7a9f4700e070dd76e93be2af9598e25c287179","kind":"commit","published_at":"2023-04-25T03:24:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.72.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.72.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.3/manifests"},{"name":"hypothesis-python-6.72.2","sha":"1f4986b399489b9b644fc9adf39ba674aa100e5c","kind":"commit","published_at":"2023-04-24T06:26:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.72.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.72.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.2/manifests"},{"name":"hypothesis-python-6.72.1","sha":"e33377305225df0a4ee50a1bd55ed801df6d1ea2","kind":"commit","published_at":"2023-04-19T23:41:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.72.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.72.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.1/manifests"},{"name":"hypothesis-python-6.72.0","sha":"c95176c89ebec4b3ea2f9eba938ca36c3b6e7e9f","kind":"commit","published_at":"2023-04-16T06:04:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.72.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.72.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.72.0/manifests"},{"name":"hypothesis-python-6.71.0","sha":"a136cb4a5f61170439918d7404eb4acfb0a617cf","kind":"commit","published_at":"2023-04-07T18:53:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.71.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.71.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.71.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.71.0/manifests"},{"name":"hypothesis-python-6.70.2","sha":"009b9501bdd8e3d26f7ece219d7761f0e34ff015","kind":"commit","published_at":"2023-04-03T02:25:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.70.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.70.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.70.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.70.2/manifests"},{"name":"hypothesis-python-6.70.1","sha":"a147989cf5c936560528320c7a6a29a81daa5f9d","kind":"commit","published_at":"2023-03-27T18:13:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.70.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.70.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.70.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.70.1/manifests"},{"name":"hypothesis-python-6.70.0","sha":"70b713a546e012685160e4cc27868b2aa2442c2d","kind":"commit","published_at":"2023-03-16T07:51:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.70.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.70.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.70.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.70.0/manifests"},{"name":"hypothesis-python-6.69.0","sha":"aa1ab874500cc8218f85e21d4df593102562cdc9","kind":"commit","published_at":"2023-03-15T20:02:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.69.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.69.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.69.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.69.0/manifests"},{"name":"hypothesis-python-6.68.3","sha":"85607ee963ab77f059a04198f16723208cd1e637","kind":"commit","published_at":"2023-03-15T08:42:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.68.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.68.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.3/manifests"},{"name":"hypothesis-python-6.68.2","sha":"d16e349dca8b029a8c2b52bc83ea8ca25a399a0b","kind":"commit","published_at":"2023-02-17T07:54:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.68.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.68.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.2/manifests"},{"name":"hypothesis-python-6.68.1","sha":"173de52291ea85c7a169b5c1f536efdd8beb2873","kind":"commit","published_at":"2023-02-12T07:53:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.68.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.68.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.1/manifests"},{"name":"hypothesis-python-6.68.0","sha":"70dd2dcdb7861a59f2c411aebfc29daed958379a","kind":"commit","published_at":"2023-02-09T07:19:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.68.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.68.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.68.0/manifests"},{"name":"hypothesis-python-6.67.1","sha":"68b9c204432f184e6bcb28704e75522b59f983e3","kind":"commit","published_at":"2023-02-05T21:58:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.67.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.67.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.67.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.67.1/manifests"},{"name":"hypothesis-python-6.67.0","sha":"600fc8a5da217778bc4e9bba8c9a71ca3116147a","kind":"commit","published_at":"2023-02-05T00:22:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.67.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.67.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.67.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.67.0/manifests"},{"name":"hypothesis-python-6.66.2","sha":"77d9d3ed617ee0c8f738b95e724be3360a98e969","kind":"commit","published_at":"2023-02-04T10:19:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.66.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.66.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.66.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.66.2/manifests"},{"name":"hypothesis-python-6.66.1","sha":"48165d90f6afc1c0cd618ae0659f02a88b579f8b","kind":"commit","published_at":"2023-02-03T22:26:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.66.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.66.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.66.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.66.1/manifests"},{"name":"hypothesis-python-6.66.0","sha":"d6fbb3b56c6515108a99d6e766e6357e503f5cff","kind":"commit","published_at":"2023-02-02T11:20:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.66.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.66.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.66.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.66.0/manifests"},{"name":"hypothesis-python-6.65.2","sha":"12d39b40ffec5edbdca0d83871002e5514c82f81","kind":"commit","published_at":"2023-01-27T10:08:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.65.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.65.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.65.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.65.2/manifests"},{"name":"hypothesis-python-6.65.1","sha":"caf17750df0b86dbe6a60276cf90e62aafb37c6a","kind":"commit","published_at":"2023-01-26T14:46:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.65.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.65.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.65.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.65.1/manifests"},{"name":"hypothesis-python-6.65.0","sha":"39e3fba78ed675733d5c405cef0c6db80c4818db","kind":"commit","published_at":"2023-01-24T10:49:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.65.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.65.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.65.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.65.0/manifests"},{"name":"hypothesis-python-6.64.0","sha":"406eb02920029c1ba3ea8e8ed24e8dbac2a175a8","kind":"commit","published_at":"2023-01-23T01:06:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.64.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.64.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.64.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.64.0/manifests"},{"name":"hypothesis-python-6.63.0","sha":"ee56faf16206ea15b54df5341e387756503cef5f","kind":"commit","published_at":"2023-01-20T14:46:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.63.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.63.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.63.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.63.0/manifests"},{"name":"hypothesis-python-6.62.1","sha":"5f1fdd472d4e17888de1baa0c728867e3667d108","kind":"commit","published_at":"2023-01-14T12:33:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.62.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.62.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.62.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.62.1/manifests"},{"name":"hypothesis-python-6.62.0","sha":"142d49f043ce485d148c9fdaa1d1f8bdee0f5d92","kind":"commit","published_at":"2023-01-08T18:03:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.62.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.62.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.62.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.62.0/manifests"},{"name":"hypothesis-python-6.61.3","sha":"88d9d7bdc0554c4777934778d98468914f399138","kind":"commit","published_at":"2023-01-08T00:34:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.61.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.61.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.3/manifests"},{"name":"hypothesis-python-6.61.2","sha":"86c17a74641710e9ea4c07253dd3bebbbc0388b4","kind":"commit","published_at":"2023-01-07T10:48:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.61.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.61.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.2/manifests"},{"name":"hypothesis-python-6.61.1","sha":"7af0701f89885a29c7550b570470e6f0772faefd","kind":"commit","published_at":"2023-01-06T16:36:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.61.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.61.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.1/manifests"},{"name":"hypothesis-python-6.61.0","sha":"226028dcf62b7c7a239574af6f5d69559be0febc","kind":"commit","published_at":"2022-12-11T21:18:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.61.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.61.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.61.0/manifests"},{"name":"hypothesis-python-6.60.1","sha":"6e04f034e006242c89dfe60cbcec92da14c2f579","kind":"commit","published_at":"2022-12-11T19:20:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.60.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.60.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.60.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.60.1/manifests"},{"name":"hypothesis-python-6.60.0","sha":"ebc6a0234136dce19466a3141805c8f1bfca9268","kind":"commit","published_at":"2022-12-04T05:49:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.60.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.60.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.60.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.60.0/manifests"},{"name":"hypothesis-python-6.59.0","sha":"808c61b55f401d967b2de27db037a9a753776008","kind":"commit","published_at":"2022-12-02T02:06:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.59.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.59.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.59.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.59.0/manifests"},{"name":"hypothesis-python-6.58.2","sha":"856984b4586b3eedbc96c74e46d9086a3bd7ce69","kind":"commit","published_at":"2022-11-30T09:56:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.58.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.58.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.58.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.58.2/manifests"},{"name":"hypothesis-python-6.58.1","sha":"50ed368634fd6498bd86c152fb270aa064780506","kind":"commit","published_at":"2022-11-26T01:33:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.58.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.58.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.58.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.58.1/manifests"},{"name":"hypothesis-python-6.58.0","sha":"5ac01d1181b28732ad1ef982d70fd48d412063b5","kind":"commit","published_at":"2022-11-19T23:13:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.58.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.58.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.58.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.58.0/manifests"},{"name":"hypothesis-python-6.57.1","sha":"92fafe3f4afc7cbd4920266b454d48eb71adea09","kind":"commit","published_at":"2022-11-14T07:13:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.57.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.57.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.57.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.57.1/manifests"},{"name":"hypothesis-python-6.57.0","sha":"db48c3b0659b5ad27a06bdab2273622af43b7537","kind":"commit","published_at":"2022-11-14T04:59:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.57.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.57.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.57.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.57.0/manifests"},{"name":"hypothesis-python-6.56.4","sha":"47b35ce128376d362c636d76479b68f2524c37d6","kind":"commit","published_at":"2022-10-28T07:40:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.56.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.56.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.4/manifests"},{"name":"hypothesis-python-6.56.3","sha":"bb6b55ad8dc10e1a29530180603baf8f5308483f","kind":"commit","published_at":"2022-10-17T16:56:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.56.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.56.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.3/manifests"},{"name":"hypothesis-python-6.56.2","sha":"439416705dcab10a94004e8a44beb215938acaa6","kind":"commit","published_at":"2022-10-10T23:16:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.56.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.56.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.2/manifests"},{"name":"hypothesis-python-6.56.1","sha":"fda07ec3fba53572b5f729aefd16aceb1e61f638","kind":"commit","published_at":"2022-10-05T05:17:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.56.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.56.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.1/manifests"},{"name":"hypothesis-python-6.56.0","sha":"35c228c1a452d901dac091c582a189833b0bfe2d","kind":"commit","published_at":"2022-10-02T21:01:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.56.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.56.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.56.0/manifests"},{"name":"hypothesis-python-6.55.0","sha":"576a3c782754b0ac62400d0fc195780062a1272c","kind":"commit","published_at":"2022-09-29T20:54:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.55.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.55.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.55.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.55.0/manifests"},{"name":"hypothesis-python-6.54.6","sha":"d2435a3568ed711ed2c1e632e2da2da5212ae857","kind":"commit","published_at":"2022-09-18T05:03:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.54.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.54.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.6/manifests"},{"name":"hypothesis-python-6.54.5","sha":"e935725a2076153f278b697a28bf3a3640b97c12","kind":"commit","published_at":"2022-09-05T04:51:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.54.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.54.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.5/manifests"},{"name":"hypothesis-python-6.54.4","sha":"b66712ca36b17746e48bc84a383d41c2a4d4f2fe","kind":"commit","published_at":"2022-08-20T18:39:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.54.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.54.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.4/manifests"},{"name":"hypothesis-python-6.54.3","sha":"45b6484d29e592369d245789873282e1782aada6","kind":"commit","published_at":"2022-08-12T18:31:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.54.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.54.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.3/manifests"},{"name":"hypothesis-python-6.54.2","sha":"efaba05ed78a1cb901b24508232654d92c5bce8d","kind":"commit","published_at":"2022-08-10T04:17:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.54.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.54.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.2/manifests"},{"name":"hypothesis-python-6.54.1","sha":"f3282ce89c5545286f7e57d58ef9ebf0c0bb3e62","kind":"commit","published_at":"2022-08-02T07:05:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.54.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.54.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.1/manifests"},{"name":"hypothesis-python-6.54.0","sha":"4b1882cc5129800bc378895314a865dadf4259d2","kind":"commit","published_at":"2022-08-02T05:08:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.54.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.54.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.54.0/manifests"},{"name":"hypothesis-python-6.53.0","sha":"2f442099053d38bb973199d0b7a865b6c46c649d","kind":"commit","published_at":"2022-07-25T09:32:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.53.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.53.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.53.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.53.0/manifests"},{"name":"hypothesis-python-6.52.4","sha":"d53b1293cfd00630b6a3c08ef89d61f98e406fb9","kind":"commit","published_at":"2022-07-22T21:57:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.52.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.52.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.4/manifests"},{"name":"hypothesis-python-6.52.3","sha":"6d86930cef99b8630a5ffa3008d3eefd09b30421","kind":"commit","published_at":"2022-07-19T08:26:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.52.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.52.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.3/manifests"},{"name":"hypothesis-python-6.52.2","sha":"6a53d54c419291cd48dc577913051db0fb062df0","kind":"commit","published_at":"2022-07-19T04:45:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.52.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.52.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.2/manifests"},{"name":"hypothesis-python-6.52.1","sha":"770f8989038723a3c1b104800b18bf12dbfd7688","kind":"commit","published_at":"2022-07-18T03:54:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.52.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.52.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.1/manifests"},{"name":"hypothesis-python-6.52.0","sha":"50d2be4386053fa9950d0df392c75e9ca420481c","kind":"commit","published_at":"2022-07-18T00:35:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.52.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.52.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.52.0/manifests"},{"name":"hypothesis-python-6.51.0","sha":"2604482cbf18a607c4f07b88667b67829b63ccc9","kind":"commit","published_at":"2022-07-17T23:21:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.51.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.51.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.51.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.51.0/manifests"},{"name":"hypothesis-python-6.50.1","sha":"ec9bbad49a494150afd7abe5809f863d089150aa","kind":"commit","published_at":"2022-07-09T16:56:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.50.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.50.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.50.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.50.1/manifests"},{"name":"hypothesis-python-6.50.0","sha":"d133083907c7c93c4ea74770e3f8e04bbafa074d","kind":"commit","published_at":"2022-07-09T00:07:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.50.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.50.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.50.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.50.0/manifests"},{"name":"hypothesis-python-6.49.1","sha":"0738717561e419558a831869ab2b81dd918276aa","kind":"commit","published_at":"2022-07-05T05:13:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.49.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.49.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.49.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.49.1/manifests"},{"name":"hypothesis-python-6.49.0","sha":"272e77d911dbaf50283b26b0471e3e4661aadb2f","kind":"commit","published_at":"2022-07-04T23:13:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.49.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.49.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.49.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.49.0/manifests"},{"name":"hypothesis-python-6.48.3","sha":"6e443018c873ccf9b849de922021d80d2e2df300","kind":"commit","published_at":"2022-07-03T09:41:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.48.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.48.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.3/manifests"},{"name":"hypothesis-python-6.48.2","sha":"368d07754c7c423a3454e4b20b9874550da038d7","kind":"commit","published_at":"2022-06-29T22:00:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.48.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.48.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.2/manifests"},{"name":"hypothesis-python-6.48.1","sha":"1ac457cd102a0290b2fe5771dce126f9c13a511b","kind":"commit","published_at":"2022-06-27T20:22:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.48.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.48.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.1/manifests"},{"name":"hypothesis-python-6.48.0","sha":"74f1da82e633180e96c7f10f8caa3a5d92d3cd8f","kind":"commit","published_at":"2022-06-27T09:46:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.48.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.48.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.48.0/manifests"},{"name":"hypothesis-python-6.47.5","sha":"b8c96fa6e32cd90794e6f92338f936d2540ae164","kind":"commit","published_at":"2022-06-25T20:58:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.47.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.47.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.5/manifests"},{"name":"hypothesis-python-6.47.4","sha":"047487fd36baf055ccba1a6d4fa7001a547d78a2","kind":"commit","published_at":"2022-06-23T06:45:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.47.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.47.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.4/manifests"},{"name":"hypothesis-python-6.47.3","sha":"73dffac010a9c08f4b368411bb54b04d3f0cb0f3","kind":"commit","published_at":"2022-06-15T09:25:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.47.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.47.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.3/manifests"},{"name":"hypothesis-python-6.47.2","sha":"934d16b414c29fb3c4946024f8ad8ae7489642da","kind":"commit","published_at":"2022-06-12T17:42:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.47.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.47.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.2/manifests"},{"name":"hypothesis-python-6.47.1","sha":"9461c7e4e708beaed46cf412b17119ac5392c4e9","kind":"commit","published_at":"2022-06-10T17:35:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.47.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.47.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.1/manifests"},{"name":"hypothesis-python-6.47.0","sha":"a11ec6f2ba4c1d08df6e355730d2a25d317492db","kind":"commit","published_at":"2022-06-07T06:56:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.47.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.47.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.47.0/manifests"},{"name":"hypothesis-python-6.46.11","sha":"4248a48615fb18943bf45503bb6326f672709edb","kind":"commit","published_at":"2022-06-02T03:53:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.11/manifests"},{"name":"hypothesis-python-6.46.10","sha":"b4e8a083943f0286f8e999abb1dd6fc19fdc2f09","kind":"commit","published_at":"2022-06-01T07:10:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.10/manifests"},{"name":"hypothesis-python-6.46.9","sha":"ec884d88e9723c531e60c0282c518a2d4a4245dd","kind":"commit","published_at":"2022-05-25T08:34:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.9/manifests"},{"name":"hypothesis-python-6.46.8","sha":"327d946065c47ce55949f42edbd4323cbe08b7e3","kind":"commit","published_at":"2022-05-25T05:02:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.8/manifests"},{"name":"hypothesis-python-6.46.7","sha":"7a7b0e9ebacd4d179f9c4024070109f9f8348e98","kind":"commit","published_at":"2022-05-19T05:00:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.7/manifests"},{"name":"hypothesis-python-6.46.6","sha":"02c057be9706b90672a3edea41a9e8bd278aa4f2","kind":"commit","published_at":"2022-05-18T08:41:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.6/manifests"},{"name":"hypothesis-python-6.46.5","sha":"afb0a6bed467d8b4c4a295d4cb4dccd674bc05e1","kind":"commit","published_at":"2022-05-15T05:21:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.5/manifests"},{"name":"hypothesis-python-6.46.4","sha":"28b70b745e9f81a72d39729ced51c87a91947220","kind":"commit","published_at":"2022-05-15T04:13:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.4/manifests"},{"name":"hypothesis-python-6.46.3","sha":"52e0c0d4a72832f1a689cd4af048d8535d8e2fdb","kind":"commit","published_at":"2022-05-11T07:13:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.3/manifests"},{"name":"hypothesis-python-6.46.2","sha":"354e239556631b939476e97137b2b5aae6209b77","kind":"commit","published_at":"2022-05-03T07:24:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.2/manifests"},{"name":"hypothesis-python-6.46.1","sha":"114bcad22cd234809c05a48c310be17d3c2d5a23","kind":"commit","published_at":"2022-05-01T07:18:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.1/manifests"},{"name":"hypothesis-python-6.46.0","sha":"af284f228beb3307863ab2daa0e356ca0d7a12f2","kind":"commit","published_at":"2022-05-01T04:44:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.46.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.46.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.46.0/manifests"},{"name":"hypothesis-python-6.45.4","sha":"8cc9146687c1a926e40a7d3d98e9f4b179a0fe65","kind":"commit","published_at":"2022-05-01T02:35:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.45.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.45.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.4/manifests"},{"name":"hypothesis-python-6.45.3","sha":"7f1fa0baf279e4db09c2a3d6c9e89867ab04ee85","kind":"commit","published_at":"2022-04-30T05:22:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.45.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.45.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.3/manifests"},{"name":"hypothesis-python-6.45.2","sha":"63b94c2ca3b5842939f3ca94bd3a954aafdf45a0","kind":"commit","published_at":"2022-04-29T23:21:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.45.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.45.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.2/manifests"},{"name":"hypothesis-python-6.45.1","sha":"0fee385c9ab35cf9367588e57abb8e9790655de3","kind":"commit","published_at":"2022-04-27T16:56:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.45.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.45.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.1/manifests"},{"name":"hypothesis-python-6.45.0","sha":"57e626132a350c94cb1878d8756def301615977a","kind":"commit","published_at":"2022-04-22T21:33:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.45.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.45.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.45.0/manifests"},{"name":"hypothesis-python-6.44.0","sha":"2947bffd1d693ce5b19ce0ae874707a1ebd6cffe","kind":"commit","published_at":"2022-04-21T16:34:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.44.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.44.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.44.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.44.0/manifests"},{"name":"hypothesis-python-6.43.3","sha":"32bf7aab8dd5b8ff53cfa5501022cb1dc5b06af2","kind":"commit","published_at":"2022-04-18T03:12:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.43.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.43.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.3/manifests"},{"name":"hypothesis-python-6.43.2","sha":"ab8276d38ac573a841d0a5db0ce62abfc144298c","kind":"commit","published_at":"2022-04-16T21:20:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.43.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.43.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.2/manifests"},{"name":"hypothesis-python-6.43.1","sha":"e3329acabc6354ec0ef03524fba1d0233d9f5f24","kind":"commit","published_at":"2022-04-13T09:47:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.43.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.43.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.1/manifests"},{"name":"hypothesis-python-6.43.0","sha":"da9489521db9ac47cd76d45485ae562a4ebb55ef","kind":"commit","published_at":"2022-04-12T02:32:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.43.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.43.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.43.0/manifests"},{"name":"hypothesis-python-6.42.3","sha":"7f94ce1780ad0304409197bd66bb8dcb150d8d7c","kind":"commit","published_at":"2022-04-10T20:06:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.42.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.42.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.3/manifests"},{"name":"hypothesis-python-6.42.2","sha":"04be98e9201345f70a72a08c7be425edb10bc834","kind":"commit","published_at":"2022-04-10T05:02:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.42.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.42.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.2/manifests"},{"name":"hypothesis-python-6.42.1","sha":"ea10729a0a8b6086a77912ed34c8fef7ea934d9d","kind":"commit","published_at":"2022-04-10T02:05:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.42.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.42.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.1/manifests"},{"name":"hypothesis-python-6.42.0","sha":"43cc4dcb416393f6406d32c4b5182ff2c4eb4738","kind":"commit","published_at":"2022-04-09T02:03:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.42.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.42.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.42.0/manifests"},{"name":"hypothesis-python-6.41.0","sha":"7be786c828c130a84ca27ffcff37ba6ad86b458e","kind":"commit","published_at":"2022-04-01T23:29:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.41.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.41.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.41.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.41.0/manifests"},{"name":"hypothesis-python-6.40.3","sha":"f2a3966b9455ad63a88ba7ee416988c8267273ae","kind":"commit","published_at":"2022-04-01T20:47:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.40.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.40.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.3/manifests"},{"name":"hypothesis-python-6.40.2","sha":"c1e08726181c00801431eb683fd4e70c9353855e","kind":"commit","published_at":"2022-04-01T14:00:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.40.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.40.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.2/manifests"},{"name":"hypothesis-python-6.40.1","sha":"d135fc45e5a4a37cf14bf98b63f0ef9eb82c5ee9","kind":"commit","published_at":"2022-04-01T04:14:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.40.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.40.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.1/manifests"},{"name":"hypothesis-python-6.40.0","sha":"1aaec833e5ff69c0fbf58bc0012cc8589abd66f8","kind":"commit","published_at":"2022-03-29T04:01:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.40.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.40.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.40.0/manifests"},{"name":"hypothesis-python-6.39.6","sha":"a1ad5d621d8afacdb1683a8a2334339fb1f689be","kind":"commit","published_at":"2022-03-27T21:32:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.39.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.39.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.6/manifests"},{"name":"hypothesis-python-6.39.5","sha":"70c99267adef3a8d6f3378c1242944c6dc5ff5e7","kind":"commit","published_at":"2022-03-26T21:07:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.39.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.39.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.5/manifests"},{"name":"hypothesis-python-6.39.4","sha":"180badb5f06a32e67f992ded6e9ed6924b031dbd","kind":"commit","published_at":"2022-03-17T07:48:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.39.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.39.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.4/manifests"},{"name":"hypothesis-python-6.39.3","sha":"d8c7f1e84f3cb1eee6e76af3201bb9bc52c9043b","kind":"commit","published_at":"2022-03-07T17:25:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.39.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.39.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.3/manifests"},{"name":"hypothesis-python-6.39.2","sha":"f0805cb7c99fa7b62f972a903d7dac3c25c87422","kind":"commit","published_at":"2022-03-07T07:01:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.39.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.39.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.2/manifests"},{"name":"hypothesis-python-6.39.1","sha":"846bd800efdd5163c08a13cd81ea51b66273dcab","kind":"commit","published_at":"2022-03-03T11:19:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.39.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.39.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.1/manifests"},{"name":"hypothesis-python-6.39.0","sha":"79cafecee4ce53aab7646dd46fe43d77a49753dd","kind":"commit","published_at":"2022-03-01T05:59:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.39.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.39.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.39.0/manifests"},{"name":"hypothesis-python-6.38.0","sha":"7892df0a2d9b9a409070021107c8c4dabec0540f","kind":"commit","published_at":"2022-02-26T10:30:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.38.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.38.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.38.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.38.0/manifests"},{"name":"hypothesis-python-6.37.2","sha":"bfe733a5716c8cf5cb9f6d5b98c6a615d4e08959","kind":"commit","published_at":"2022-02-21T22:30:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.37.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.37.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.37.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.37.2/manifests"},{"name":"hypothesis-python-6.37.1","sha":"887e227003e93710f037632c58de71e183bf1930","kind":"commit","published_at":"2022-02-21T05:07:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.37.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.37.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.37.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.37.1/manifests"},{"name":"hypothesis-python-6.37.0","sha":"cd46356da0b8ddc19b307c2fd13a28f9d9de4183","kind":"commit","published_at":"2022-02-18T07:09:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.37.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.37.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.37.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.37.0/manifests"},{"name":"hypothesis-python-6.36.2","sha":"650943d80a33bddc84bf71742df622d11d4e7786","kind":"commit","published_at":"2022-02-13T02:30:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.36.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.36.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.36.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.36.2/manifests"},{"name":"hypothesis-python-6.36.1","sha":"c14e08a4cc636380c37fd3fd635697f1376c882d","kind":"commit","published_at":"2022-01-31T08:52:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.36.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.36.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.36.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.36.1/manifests"},{"name":"hypothesis-python-6.36.0","sha":"60e601e6a9a0746e5d28cd01d773873b3126bbed","kind":"commit","published_at":"2022-01-19T09:00:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.36.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.36.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.36.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.36.0/manifests"},{"name":"hypothesis-python-6.35.1","sha":"26fc41b07b280e638201d8e9a2a010a845120624","kind":"commit","published_at":"2022-01-17T02:30:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.35.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.35.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.35.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.35.1/manifests"},{"name":"hypothesis-python-6.35.0","sha":"d1bfc4acc86899caa7a40f892322e1a69fbf36f4","kind":"commit","published_at":"2022-01-08T14:59:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.35.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.35.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.35.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.35.0/manifests"},{"name":"hypothesis-python-6.34.2","sha":"22607fe63a93b6fc70453502cc1d07831e124f6b","kind":"commit","published_at":"2022-01-05T00:38:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.34.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.34.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.34.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.34.2/manifests"},{"name":"hypothesis-python-6.34.1","sha":"c2c5bd2f0aed56e52e895cb7f402755910a25548","kind":"commit","published_at":"2021-12-31T02:34:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.34.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.34.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.34.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.34.1/manifests"},{"name":"hypothesis-python-6.34.0","sha":"f91adfe24c5eb40ac3ca0afcf443045a7e21f3ef","kind":"commit","published_at":"2021-12-31T01:12:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.34.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.34.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.34.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.34.0/manifests"},{"name":"hypothesis-python-6.33.0","sha":"9a304ddfc32e8b5603549370b7256705c61cefa4","kind":"commit","published_at":"2021-12-30T04:26:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.33.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.33.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.33.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.33.0/manifests"},{"name":"hypothesis-python-6.32.1","sha":"8fc31a4fca509f0a0ec27fd056306c23575ede5d","kind":"commit","published_at":"2021-12-23T05:58:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.32.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.32.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.32.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.32.1/manifests"},{"name":"hypothesis-python-6.32.0","sha":"910253de006e8804ed28647482065317e38e4e6a","kind":"commit","published_at":"2021-12-23T00:43:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.32.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.32.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.32.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.32.0/manifests"},{"name":"hypothesis-python-6.31.6","sha":"f7155d226c7e6830444b570a30c6ac1ccb7493eb","kind":"commit","published_at":"2021-12-15T09:43:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.31.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.31.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.6/manifests"},{"name":"hypothesis-python-6.31.5","sha":"8fd286b65d0678bfc755e5f5c82e55fde2d372e7","kind":"commit","published_at":"2021-12-14T15:08:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.31.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.31.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.5/manifests"},{"name":"hypothesis-python-6.31.4","sha":"c630d927ecbed86443827c0978ec3839205abdb5","kind":"commit","published_at":"2021-12-11T22:56:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.31.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.31.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.4/manifests"},{"name":"hypothesis-python-6.31.3","sha":"6173b2a8783fac5bab3fa478d3a5b0719f93b942","kind":"commit","published_at":"2021-12-10T14:38:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.31.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.31.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.3/manifests"},{"name":"hypothesis-python-6.31.2","sha":"d79427b2db3279a09451a07ecee4c6faad8dc494","kind":"commit","published_at":"2021-12-10T12:52:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.31.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.31.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.2/manifests"},{"name":"hypothesis-python-6.31.1","sha":"af25acd13ae9fcfcf46a8f93f044cd4db1e1cefb","kind":"commit","published_at":"2021-12-10T10:13:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.31.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.31.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.1/manifests"},{"name":"hypothesis-python-6.31.0","sha":"655282a44286fb64e87d66bc5fc23ab63a9c63a5","kind":"commit","published_at":"2021-12-09T13:30:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.31.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.31.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.31.0/manifests"},{"name":"hypothesis-python-6.30.1","sha":"09fc14039576fa2891b565bc1c4aff3d361d3489","kind":"commit","published_at":"2021-12-05T13:36:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.30.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.30.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.30.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.30.1/manifests"},{"name":"hypothesis-python-6.30.0","sha":"9fce400120bcb7fcdf66626a5c6525f84db21e59","kind":"commit","published_at":"2021-12-03T00:32:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.30.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.30.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.30.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.30.0/manifests"},{"name":"hypothesis-python-6.29.3","sha":"4ee23df6748994909c11b8400b4e8cccf8ea7042","kind":"commit","published_at":"2021-12-02T10:23:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.29.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.29.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.3/manifests"},{"name":"hypothesis-python-6.29.2","sha":"fe55987824ddaf13e94bc783e1ff6534df427988","kind":"commit","published_at":"2021-12-02T08:04:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.29.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.29.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.2/manifests"},{"name":"hypothesis-python-6.29.1","sha":"6dc8c8dd2c46420b237c537805fcf0dc7fa9dad9","kind":"commit","published_at":"2021-12-02T06:04:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.29.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.29.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.1/manifests"},{"name":"hypothesis-python-6.29.0","sha":"0ccfaa7ba488a05c1f75f9726a3993f17d2cd53e","kind":"commit","published_at":"2021-11-29T07:48:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.29.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.29.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.29.0/manifests"},{"name":"hypothesis-python-6.28.1","sha":"4d7506f7579a908b23453a92e1fe474a9aefbe0d","kind":"commit","published_at":"2021-11-28T14:30:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.28.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.28.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.28.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.28.1/manifests"},{"name":"hypothesis-python-6.28.0","sha":"d28ffc2f0ec52563a29caa8c634f3363b1f5b403","kind":"commit","published_at":"2021-11-28T13:10:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.28.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.28.0/manifests"},{"name":"hypothesis-python-6.27.3","sha":"12ba178f442614daf17fefe69d856a5e5edd9dc4","kind":"commit","published_at":"2021-11-28T06:33:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.27.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.27.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.3/manifests"},{"name":"hypothesis-python-6.27.2","sha":"15ae0cd1469d01b7267188287d979671fd514c52","kind":"commit","published_at":"2021-11-26T12:19:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.27.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.27.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.2/manifests"},{"name":"hypothesis-python-6.27.1","sha":"2fa6d0a55df31ddffde4098b7eb7c7d9991b8dff","kind":"commit","published_at":"2021-11-22T21:14:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.27.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.27.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.1/manifests"},{"name":"hypothesis-python-6.27.0","sha":"1f1c11b30eb5a60521ecf6fc3a8902d160614de9","kind":"commit","published_at":"2021-11-22T00:22:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.27.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.27.0/manifests"},{"name":"hypothesis-python-6.26.0","sha":"c4b9d39977be9a36915bc12298e8998106470bb7","kind":"commit","published_at":"2021-11-21T13:36:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.26.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.26.0/manifests"},{"name":"hypothesis-python-6.25.0","sha":"ce11d5eecbb1500a0f76393e3b012dbc5cc4e43a","kind":"commit","published_at":"2021-11-19T01:05:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.25.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.25.0/manifests"},{"name":"hypothesis-python-6.24.6","sha":"9c0dbee97f9244bd7ad66c529b24cf5185d3363f","kind":"commit","published_at":"2021-11-18T07:49:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.24.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.24.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.6/manifests"},{"name":"hypothesis-python-6.24.5","sha":"7aecdf6c3e32f2338ad7bb6c1427abd6f263afe9","kind":"commit","published_at":"2021-11-16T10:57:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.24.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.24.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.5/manifests"},{"name":"hypothesis-python-6.24.4","sha":"b343d21fc19e6fa79811ecb367fbbb5b88dfbe3e","kind":"commit","published_at":"2021-11-15T12:36:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.24.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.24.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.4/manifests"},{"name":"hypothesis-python-6.24.3","sha":"ef1996137ebd2c0958e71b1e2e3e4bbe51514837","kind":"commit","published_at":"2021-11-13T04:05:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.24.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.24.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.3/manifests"},{"name":"hypothesis-python-6.24.2","sha":"e08005524e338277dc99d11be0b17603648c82f4","kind":"commit","published_at":"2021-11-05T14:27:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.24.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.24.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.2/manifests"},{"name":"hypothesis-python-6.24.1","sha":"9fdc154751d2f5ab2d09540b286ecc5f83565da6","kind":"commit","published_at":"2021-11-01T04:00:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.24.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.1/manifests"},{"name":"hypothesis-python-6.24.0","sha":"e32968532359a12d3fd728efadb51ba0e5885590","kind":"commit","published_at":"2021-10-23T12:52:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.24.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.24.0/manifests"},{"name":"hypothesis-python-6.23.4","sha":"b83c7d43caaa68cd37cc114eb0b7106f557fb5c5","kind":"commit","published_at":"2021-10-20T12:06:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.23.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.23.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.4/manifests"},{"name":"hypothesis-python-6.23.3","sha":"05769738c3d72a5e0270c94dd3b11386a45b8d5a","kind":"commit","published_at":"2021-10-18T10:27:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.23.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.23.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.3/manifests"},{"name":"hypothesis-python-6.23.2","sha":"b7050c04d4681acfb8373c77781f1c715f90245c","kind":"commit","published_at":"2021-10-08T21:35:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.23.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.23.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.2/manifests"},{"name":"hypothesis-python-6.23.1","sha":"5c48ce7a6b037a543778aa57f160a49b481d27f7","kind":"commit","published_at":"2021-09-29T13:04:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.23.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.23.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.1/manifests"},{"name":"hypothesis-python-6.23.0","sha":"f5ec0a8b857ee19089e48374c472b1ebd3b65847","kind":"commit","published_at":"2021-09-26T05:04:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.23.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.23.0/manifests"},{"name":"hypothesis-python-6.22.0","sha":"dbcf72d0ae2310fead5c8ac7f02436c18a6daa66","kind":"commit","published_at":"2021-09-24T08:41:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.22.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.22.0/manifests"},{"name":"hypothesis-python-6.21.6","sha":"b3f4ecdd51531c522f91b3958832d4bdf271287d","kind":"commit","published_at":"2021-09-19T09:17:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.21.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.21.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.6/manifests"},{"name":"hypothesis-python-6.21.5","sha":"1910770cf73b13ffafb408a7e288f7f9facd8e09","kind":"commit","published_at":"2021-09-16T22:56:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.21.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.21.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.5/manifests"},{"name":"hypothesis-python-6.21.4","sha":"9b083ff590dd1c2100620383dde3efe319ebd183","kind":"commit","published_at":"2021-09-16T00:48:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.21.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.21.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.4/manifests"},{"name":"hypothesis-python-6.21.3","sha":"94dd4bdc3653b224044047a8ac4644c7d77659d1","kind":"commit","published_at":"2021-09-15T12:09:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.21.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.21.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.3/manifests"},{"name":"hypothesis-python-6.21.2","sha":"ac1d4066da7e15b48a45c86a838586faa3228dd7","kind":"commit","published_at":"2021-09-15T09:23:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.21.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.21.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.2/manifests"},{"name":"hypothesis-python-6.21.1","sha":"41fadf9ccfaa04dbc1054af3ee0ab675a90377b8","kind":"commit","published_at":"2021-09-13T09:56:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.21.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.1/manifests"},{"name":"hypothesis-python-6.21.0","sha":"3761dc703e86971d6440d2e31fa37b9c7888ae6c","kind":"commit","published_at":"2021-09-11T08:06:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.21.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.21.0/manifests"},{"name":"hypothesis-python-6.20.1","sha":"1393ae5e71f5ab02e7ebc78b783244f6ffeb99ae","kind":"commit","published_at":"2021-09-10T04:27:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.20.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.20.1/manifests"},{"name":"hypothesis-python-6.20.0","sha":"5b48257d48a1218ee6d7b2a76d09992a74199428","kind":"commit","published_at":"2021-09-09T03:51:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.20.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.20.0/manifests"},{"name":"hypothesis-python-6.19.0","sha":"17ad666a9ad7564ae98ef4fd909560d561a9a445","kind":"commit","published_at":"2021-09-08T09:19:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.19.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.19.0/manifests"},{"name":"hypothesis-python-6.18.0","sha":"5359fb2c9dce42abde84fb43cee18d5c3a8649ae","kind":"commit","published_at":"2021-09-06T10:20:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.18.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.18.0/manifests"},{"name":"hypothesis-python-6.17.4","sha":"c4fb7c28ba7af68c7f78cb01c4642cdb51d826cc","kind":"commit","published_at":"2021-08-31T03:13:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.17.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.17.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.4/manifests"},{"name":"hypothesis-python-6.17.3","sha":"60903d2a2c7927ad63a097125562d8c32497b6c0","kind":"commit","published_at":"2021-08-30T16:54:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.17.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.17.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.3/manifests"},{"name":"hypothesis-python-6.17.2","sha":"d8cbc06da1a9698eef827b42caacb7bea4457070","kind":"commit","published_at":"2021-08-30T11:24:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.17.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.17.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.2/manifests"},{"name":"hypothesis-python-6.17.1","sha":"cbdcc7c154b50f5655de12682d9dc1111fb83bff","kind":"commit","published_at":"2021-08-29T08:09:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.17.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.1/manifests"},{"name":"hypothesis-python-6.17.0","sha":"ed63eb103c34dadba0916c40fd79881dbe3308fd","kind":"commit","published_at":"2021-08-27T13:51:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.17.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.17.0/manifests"},{"name":"hypothesis-python-6.16.0","sha":"e638241b5cdfb4d75223a633ea21fb0eb9f4d753","kind":"commit","published_at":"2021-08-27T01:33:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.16.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.16.0/manifests"},{"name":"hypothesis-python-6.15.0","sha":"bf2c4be6f86ccb88a496373b24e92ad8e270bc01","kind":"commit","published_at":"2021-08-22T01:07:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.15.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.15.0/manifests"},{"name":"hypothesis-python-6.14.9","sha":"5eb54e73f6f5d34b9c9e03b86c63f105f3db0a33","kind":"commit","published_at":"2021-08-20T02:03:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.9/manifests"},{"name":"hypothesis-python-6.14.8","sha":"1f0c8f4212b826d1fe61b2a82691753102a098bc","kind":"commit","published_at":"2021-08-16T23:00:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.8/manifests"},{"name":"hypothesis-python-6.14.7","sha":"75f483c09f8d0ce99fc5853bd98d815eaca7e8dd","kind":"commit","published_at":"2021-08-14T06:07:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.7/manifests"},{"name":"hypothesis-python-6.14.6","sha":"5f4015b41cb04d2e7cd61ca2dd536abaf051846b","kind":"commit","published_at":"2021-08-07T23:57:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.6/manifests"},{"name":"hypothesis-python-6.14.5","sha":"ccac4364979effc2b22e2f943176b2b1f025c448","kind":"commit","published_at":"2021-07-27T10:49:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.5/manifests"},{"name":"hypothesis-python-6.14.4","sha":"87f9f7507c2d10d61c488d1ce3361d4940208a76","kind":"commit","published_at":"2021-07-26T05:56:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.4/manifests"},{"name":"hypothesis-python-6.14.3","sha":"a17a6d9dbf789bcdca159834c0b0e6f326b17935","kind":"commit","published_at":"2021-07-18T03:28:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.3/manifests"},{"name":"hypothesis-python-6.14.2","sha":"3759eeb055fd79198bad7047dd6f11a70d1d10f5","kind":"commit","published_at":"2021-07-12T03:20:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.2/manifests"},{"name":"hypothesis-python-6.14.1","sha":"cc32bd14bec972822d237ff76c91c60a0cb7661d","kind":"commit","published_at":"2021-07-02T14:58:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.1/manifests"},{"name":"hypothesis-python-6.14.0","sha":"1023a9b6b1e78387523273c61628e340889b8878","kind":"commit","published_at":"2021-06-09T14:28:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.14.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.14.0/manifests"},{"name":"hypothesis-python-6.13.14","sha":"ffb2d41e80ceae280f4d978e1dd4b92e20b39efe","kind":"commit","published_at":"2021-06-04T12:52:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.14","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.14/manifests"},{"name":"hypothesis-python-6.13.13","sha":"dbfaec5139f5f858007d8323d791038f2d143c4c","kind":"commit","published_at":"2021-06-04T04:05:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.13","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.13/manifests"},{"name":"hypothesis-python-6.13.12","sha":"a28da3c8944561f695b8bf7ec5d71f7e47b70cf5","kind":"commit","published_at":"2021-06-03T11:35:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.12/manifests"},{"name":"hypothesis-python-6.13.11","sha":"336e1e68e021677bca0cb98b4679e0aa51fefe3f","kind":"commit","published_at":"2021-06-02T04:25:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.11/manifests"},{"name":"hypothesis-python-6.13.10","sha":"10ea97b2e9f00dbcf882ff3e102c790c6684448b","kind":"commit","published_at":"2021-05-30T15:26:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.10/manifests"},{"name":"hypothesis-python-6.13.9","sha":"ce2e0df6fdff2eaaf9d7d295892edae4af828ac7","kind":"commit","published_at":"2021-05-30T02:58:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.9/manifests"},{"name":"hypothesis-python-6.13.8","sha":"0a90ed6edf56319149956c7321d4110078a5c228","kind":"commit","published_at":"2021-05-28T11:03:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.8/manifests"},{"name":"hypothesis-python-6.13.7","sha":"a4fe2c37880f14266bc5648419941367db2238ad","kind":"commit","published_at":"2021-05-27T13:16:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.7/manifests"},{"name":"hypothesis-python-6.13.6","sha":"d4aea1f8ae920ab499e1181a61cb2b798afd5fb0","kind":"commit","published_at":"2021-05-26T14:07:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.6/manifests"},{"name":"hypothesis-python-6.13.5","sha":"0141a73abd0facfec1c931643b2ffde903646dbc","kind":"commit","published_at":"2021-05-24T10:54:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.5/manifests"},{"name":"hypothesis-python-6.13.4","sha":"3763d2add09219564ac53dbe8cdd099eb3cc7766","kind":"commit","published_at":"2021-05-24T03:05:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.4/manifests"},{"name":"hypothesis-python-6.13.3","sha":"76cda5fb3dd3d62bc172267c1aaa5526173d9905","kind":"commit","published_at":"2021-05-23T23:32:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.3/manifests"},{"name":"hypothesis-python-6.13.2","sha":"9e12dea03c7c382803d752dd61f338140311c439","kind":"commit","published_at":"2021-05-23T14:42:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.2/manifests"},{"name":"hypothesis-python-6.13.1","sha":"37532c8fe168a6b4a4f287000b822887cdc02073","kind":"commit","published_at":"2021-05-20T15:14:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.1/manifests"},{"name":"hypothesis-python-6.13.0","sha":"06aa7b45e57ac90e3c66e24b0b8157d70af1aa08","kind":"commit","published_at":"2021-05-18T05:13:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.13.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.13.0/manifests"},{"name":"hypothesis-python-6.12.1","sha":"a00f986c5be7890312235610ab694c97501f5a81","kind":"commit","published_at":"2021-05-17T09:20:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.12.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.12.1/manifests"},{"name":"hypothesis-python-6.12.0","sha":"71035b7250e976856b730bcb6e18a598b5237f9e","kind":"commit","published_at":"2021-05-06T03:22:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.12.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.12.0/manifests"},{"name":"hypothesis-python-6.11.0","sha":"722f12acb30a16c7ca82831171df15978d0e6e5a","kind":"commit","published_at":"2021-05-06T02:43:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.11.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.11.0/manifests"},{"name":"hypothesis-python-6.10.1","sha":"883ab7f890f88a416213e244ee91e0f3167c0fa2","kind":"commit","published_at":"2021-04-26T11:49:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.10.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.10.1/manifests"},{"name":"hypothesis-python-6.10.0","sha":"f119e70f8d68ef57b19e657309d71fd4b2aa82e7","kind":"commit","published_at":"2021-04-17T09:19:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.10.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.10.0/manifests"},{"name":"hypothesis-python-6.9.2","sha":"5f02ac4f5d4394ffe91db9b939276c8d4fd3ee82","kind":"commit","published_at":"2021-04-15T03:58:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.9.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.9.2/manifests"},{"name":"hypothesis-python-6.9.1","sha":"d303bb270c3a527e18bf248654510eb74b15aa8d","kind":"commit","published_at":"2021-04-12T07:16:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.9.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.9.1/manifests"},{"name":"hypothesis-python-6.9.0","sha":"0e7f87dc053615b25597edc02b6d08f0fcaf4b73","kind":"commit","published_at":"2021-04-11T04:23:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.9.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.9.0/manifests"},{"name":"hypothesis-python-6.8.12","sha":"407554edd97bd5c61e2ab7b785b94c37effad467","kind":"commit","published_at":"2021-04-11T03:58:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.12/manifests"},{"name":"hypothesis-python-6.8.11","sha":"4214b26fd956135ae6fcf8522bd1e801d94a4e99","kind":"commit","published_at":"2021-04-11T03:29:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.11/manifests"},{"name":"hypothesis-python-6.8.10","sha":"cfd389d76e669daaa9ab860d66371d342a8a2029","kind":"commit","published_at":"2021-04-11T03:02:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.10/manifests"},{"name":"hypothesis-python-6.8.9","sha":"93342b97390f0d29bb89f22899a4ed7b4a6d4c79","kind":"commit","published_at":"2021-04-07T14:47:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.9/manifests"},{"name":"hypothesis-python-6.8.8","sha":"25a5df830233dcc92caa86843c569b7da9e761b5","kind":"commit","published_at":"2021-04-07T09:28:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.8/manifests"},{"name":"hypothesis-python-6.8.7","sha":"0149445d21b404e12e646500404ab04d6bf33ed1","kind":"commit","published_at":"2021-04-07T08:08:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.7/manifests"},{"name":"hypothesis-python-6.8.6","sha":"24210418d9340c603103fbea48a0963f623a0160","kind":"commit","published_at":"2021-04-06T23:02:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.6/manifests"},{"name":"hypothesis-python-6.8.5","sha":"2826d47157328b3472cfdddd538c578bc05b3b11","kind":"commit","published_at":"2021-04-05T08:41:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.5/manifests"},{"name":"hypothesis-python-6.8.4","sha":"71e82a6ce2d21d4c519017d859da003e6808de51","kind":"commit","published_at":"2021-04-01T12:30:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.4/manifests"},{"name":"hypothesis-python-6.8.3","sha":"ef0c17481ba049329471fb6c503ad82579de4900","kind":"commit","published_at":"2021-03-28T03:56:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.3/manifests"},{"name":"hypothesis-ruby-0.7.1","sha":"465d8bed9a49f7316d28a230b17d696ac926e6d9","kind":"commit","published_at":"2021-03-27T07:42:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.7.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.7.1/manifests"},{"name":"hypothesis-python-6.8.2","sha":"b5b438bb8cff50928855453c1692d235c75ffef2","kind":"commit","published_at":"2021-03-27T07:35:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.2/manifests"},{"name":"hypothesis-python-6.8.1","sha":"6fa16a4b47012e6be277926d6cbfeec549609955","kind":"commit","published_at":"2021-03-14T02:06:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.1/manifests"},{"name":"hypothesis-ruby-0.7.0","sha":"7587c7b52a0c31637563f0c63c387da54c37c99c","kind":"commit","published_at":"2021-03-12T22:57:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.7.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.7.0/manifests"},{"name":"hypothesis-python-6.8.0","sha":"a4e848c5b55a0fa041a836ad3bc9089f28b0f11c","kind":"commit","published_at":"2021-03-11T13:25:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.8.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.8.0/manifests"},{"name":"hypothesis-python-6.7.0","sha":"d8eeaf8000915cb5ad5d8eb3a1991b448dc4abd3","kind":"commit","published_at":"2021-03-10T00:45:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.7.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.7.0/manifests"},{"name":"hypothesis-python-6.6.1","sha":"abd96be77516afde9c05f2cbd66d7cbc4a4410cd","kind":"commit","published_at":"2021-03-09T12:49:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.6.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.6.1/manifests"},{"name":"hypothesis-python-6.6.0","sha":"3b2575710002831a7e4b2628e44f13dfdf0c263b","kind":"commit","published_at":"2021-03-07T06:08:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.6.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.6.0/manifests"},{"name":"hypothesis-python-6.5.0","sha":"2823ad6564c4748de235212ad1a1179dd4c76cc0","kind":"commit","published_at":"2021-03-07T05:02:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.5.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.5.0/manifests"},{"name":"hypothesis-python-6.4.3","sha":"9e34e289ee533c08ef7eefa80206ee33ed60710f","kind":"commit","published_at":"2021-03-04T11:27:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.4.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.3/manifests"},{"name":"hypothesis-python-6.4.2","sha":"b4ea7abcf0e362f72b7d5d8a8168d56f3b06e10f","kind":"commit","published_at":"2021-03-04T04:29:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.4.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.2/manifests"},{"name":"hypothesis-python-6.4.1","sha":"59692c0c9de00d55ceaac3aa26107d9a4e65b4d9","kind":"commit","published_at":"2021-03-04T04:00:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.4.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.1/manifests"},{"name":"hypothesis-python-6.4.0","sha":"af012ea2d954f0aeed9545a8a91ea227fcc3ece4","kind":"commit","published_at":"2021-03-02T22:58:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.4.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.4.0/manifests"},{"name":"hypothesis-python-6.3.4","sha":"d76b28402d3e96ab3f224864ca2a05d40c3fda38","kind":"commit","published_at":"2021-02-28T01:23:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.3.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.4/manifests"},{"name":"hypothesis-python-6.3.3","sha":"d0ffbefa3d0354b63728d4478f1d1e0f68675e98","kind":"commit","published_at":"2021-02-26T03:59:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.3.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.3/manifests"},{"name":"hypothesis-python-6.3.2","sha":"c3d13fcd16463dad711e22f28c7a13a5cbf076cd","kind":"commit","published_at":"2021-02-25T03:37:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.3.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.2/manifests"},{"name":"hypothesis-python-6.3.1","sha":"b1184ec183e55634cbf29096e71bc1bf4dea804a","kind":"commit","published_at":"2021-02-24T05:55:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.3.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.1/manifests"},{"name":"hypothesis-python-6.3.0","sha":"f1ca0a33d01fa2e37c747ec88853fdc82e3a17e6","kind":"commit","published_at":"2021-02-20T14:00:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.3.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.3.0/manifests"},{"name":"hypothesis-python-6.2.0","sha":"fbe82e8616f9003906787bb559a0d9118bb16d43","kind":"commit","published_at":"2021-02-12T02:39:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.2.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.2.0/manifests"},{"name":"hypothesis-ruby-0.6.1","sha":"f868c1ad23d937dcf31bf29be244766864f32617","kind":"commit","published_at":"2021-02-01T10:40:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.6.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.6.1/manifests"},{"name":"conjecture-rust-0.7.0","sha":"60346a0aa759c47d7c4c20064c85a15561139ec0","kind":"commit","published_at":"2021-02-01T10:39:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/conjecture-rust-0.7.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/conjecture-rust-0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.7.0/manifests"},{"name":"hypothesis-python-6.1.1","sha":"de4b6f2961cc043391e3a5728c2d999bca2470cd","kind":"commit","published_at":"2021-01-31T11:46:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.1.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.1.1/manifests"},{"name":"hypothesis-python-6.1.0","sha":"eef13b199043bb27aff414b10bd3935756052a4e","kind":"commit","published_at":"2021-01-29T08:47:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.1.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.1.0/manifests"},{"name":"hypothesis-python-6.0.4","sha":"4e0cbdbd2fb0b35fe864cefffb3fb5627316fee0","kind":"commit","published_at":"2021-01-27T22:20:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.0.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.4/manifests"},{"name":"hypothesis-ruby-0.6.0","sha":"c5b390e2b3fddd861c8105d8a58071e2bbb199c9","kind":"commit","published_at":"2021-01-27T15:20:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.6.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.6.0/manifests"},{"name":"conjecture-rust-0.6.0","sha":"0d43bc4d5add7c5931f5209a03677d310b6fec4a","kind":"commit","published_at":"2021-01-27T15:12:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/conjecture-rust-0.6.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/conjecture-rust-0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.6.0/manifests"},{"name":"conjecture-rust-0.5.0","sha":"984cec5aea2f9c7e7200e9055547629e31851ecd","kind":"commit","published_at":"2021-01-27T14:08:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/conjecture-rust-0.5.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/conjecture-rust-0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.5.0/manifests"},{"name":"hypothesis-ruby-0.5.0","sha":"dd50517bca16d60edb575ad08e9b1b73d3d0353e","kind":"commit","published_at":"2021-01-25T14:28:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.5.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.5.0/manifests"},{"name":"hypothesis-python-6.0.3","sha":"8f32ba65780bdbc469ef3095eae285011ec368e8","kind":"commit","published_at":"2021-01-23T03:25:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.0.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.3/manifests"},{"name":"hypothesis-python-6.0.2","sha":"167fedc55b8a985cb341bac197d48ca5fa5393ee","kind":"commit","published_at":"2021-01-14T22:07:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.0.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.2/manifests"},{"name":"hypothesis-python-6.0.1","sha":"0016b328184bf8bf1966869661bff4d5237a87e4","kind":"commit","published_at":"2021-01-13T04:48:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.0.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.1/manifests"},{"name":"hypothesis-ruby-0.4.0","sha":"e40514810a8484c83cd1190a8c66d511c91960e2","kind":"commit","published_at":"2021-01-12T00:03:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.4.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.4.0/manifests"},{"name":"hypothesis-python-6.0.0","sha":"ba196cb1b3bb3dfdab704b80f10f3715e168123a","kind":"commit","published_at":"2021-01-08T22:45:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-6.0.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-6.0.0/manifests"},{"name":"hypothesis-ruby-0.3.0","sha":"131c558ac93a32e6c373a28f0ec819317e222012","kind":"commit","published_at":"2021-01-08T14:26:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.3.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.3.0/manifests"},{"name":"hypothesis-python-5.49.0","sha":"a45ff474cdb9be881d392aeff419fb12b499db2a","kind":"commit","published_at":"2021-01-07T03:40:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.49.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.49.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.49.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.49.0/manifests"},{"name":"hypothesis-python-5.48.0","sha":"805b4e3e9fd36d992e5501f8a79dfff53c90ba6d","kind":"commit","published_at":"2021-01-06T12:10:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.48.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.48.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.48.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.48.0/manifests"},{"name":"hypothesis-python-5.47.0","sha":"a3dba184ba7833a30a1967a266042623cb8d67ee","kind":"commit","published_at":"2021-01-05T05:25:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.47.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.47.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.47.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.47.0/manifests"},{"name":"hypothesis-python-5.46.0","sha":"cebd49096013bdbe2b6e062f350db4d4cb7ea3e2","kind":"commit","published_at":"2021-01-04T02:07:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.46.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.46.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.46.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.46.0/manifests"},{"name":"hypothesis-python-5.45.0","sha":"3741c8e9767cef39c4c0a99da55fb2b799320556","kind":"commit","published_at":"2021-01-04T00:57:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.45.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.45.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.45.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.45.0/manifests"},{"name":"hypothesis-python-5.44.0","sha":"e1063fb800185f47a43224c4882e3625c9a7ec32","kind":"commit","published_at":"2021-01-03T10:18:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.44.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.44.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.44.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.44.0/manifests"},{"name":"hypothesis-python-5.43.9","sha":"65926fc1ae9698eae61a628b08eb29c998ce15cc","kind":"commit","published_at":"2021-01-02T11:53:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.9/manifests"},{"name":"hypothesis-python-5.43.8","sha":"dcb712e7abb6f33e1e29e282536c6cd827464685","kind":"commit","published_at":"2021-01-02T04:23:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.8/manifests"},{"name":"hypothesis-python-5.43.7","sha":"ea8fc3cbf514a3f8b5221cf9b4ca6aea96f0e29a","kind":"commit","published_at":"2021-01-02T03:33:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.7/manifests"},{"name":"hypothesis-python-5.43.6","sha":"6607814327b5a9d25a91dd7abbb089634cf4bd7c","kind":"commit","published_at":"2021-01-02T02:31:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.6/manifests"},{"name":"hypothesis-python-5.43.5","sha":"42040da9e31d30f91b17f07378982927ef690492","kind":"commit","published_at":"2021-01-01T12:12:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.5/manifests"},{"name":"hypothesis-python-5.43.4","sha":"1a170a674feacc5d06b78bf16da6f4d462f7aab2","kind":"commit","published_at":"2020-12-24T12:34:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.4/manifests"},{"name":"hypothesis-python-5.43.3","sha":"9a6829f05ebd3b7c420b97c4676f8ceaae1dc80b","kind":"commit","published_at":"2020-12-11T06:25:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.3/manifests"},{"name":"hypothesis-python-5.43.2","sha":"443cd1f266bc12dfc5ec665f94a1ed191b8e583a","kind":"commit","published_at":"2020-12-10T11:11:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.2/manifests"},{"name":"hypothesis-python-5.43.1","sha":"0e9970fbeb17b96d6ec68c576885fb8533c7b287","kind":"commit","published_at":"2020-12-10T09:45:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.1/manifests"},{"name":"hypothesis-python-5.43.0","sha":"898f63eb382a2e0152b3537d223a0d86468f5920","kind":"commit","published_at":"2020-12-09T13:07:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.43.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.43.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.43.0/manifests"},{"name":"hypothesis-python-5.42.3","sha":"39fd54fcd62670ef65d0c5638dd3c927bcf179d9","kind":"commit","published_at":"2020-12-09T08:25:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.42.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.42.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.3/manifests"},{"name":"hypothesis-python-5.42.2","sha":"2600d440f06d379a21de556feb8458ed5c94fd75","kind":"commit","published_at":"2020-12-09T05:32:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.42.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.42.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.2/manifests"},{"name":"hypothesis-python-5.42.1","sha":"bd9720e90dde457104377c92b4becbd25c4afe4a","kind":"commit","published_at":"2020-12-09T03:51:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.42.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.42.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.1/manifests"},{"name":"hypothesis-python-5.42.0","sha":"be800675e5a99bb4ec52569c35383ba30f90fe3d","kind":"commit","published_at":"2020-12-09T00:59:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.42.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.42.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.42.0/manifests"},{"name":"hypothesis-python-5.41.5","sha":"a696e0171b67483d777f6b3543b46800893fbbae","kind":"commit","published_at":"2020-12-05T03:06:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.41.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.41.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.5/manifests"},{"name":"hypothesis-python-5.41.4","sha":"7083fd7ba8a354449d0304e362c44cb926944cf4","kind":"commit","published_at":"2020-11-28T11:46:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.41.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.41.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.4/manifests"},{"name":"hypothesis-python-5.41.3","sha":"33f9d012c73664991f01b45f88df4584f031143f","kind":"commit","published_at":"2020-11-18T12:41:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.41.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.41.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.3/manifests"},{"name":"hypothesis-python-5.41.2","sha":"6a668da91a3b2b8b42c76496589392feea58645a","kind":"commit","published_at":"2020-11-08T14:28:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.41.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.41.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.2/manifests"},{"name":"hypothesis-python-5.41.1","sha":"3be0df2d0e785c0c04dfa605194825b774e185a8","kind":"commit","published_at":"2020-11-03T04:52:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.41.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.41.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.1/manifests"},{"name":"hypothesis-python-5.41.0","sha":"37721e73a3553c0f7d1a6ac20b420365073f7469","kind":"commit","published_at":"2020-10-30T15:08:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.41.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.41.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.41.0/manifests"},{"name":"hypothesis-python-5.40.0","sha":"6ac35a9623b094a4e4cedb6d8c6ad153c93edb3a","kind":"commit","published_at":"2020-10-30T11:23:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.40.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.40.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.40.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.40.0/manifests"},{"name":"hypothesis-python-5.39.0","sha":"c3fa0007f26009bd16160db3cb619bd7249b5bf4","kind":"commit","published_at":"2020-10-30T00:02:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.39.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.39.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.39.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.39.0/manifests"},{"name":"hypothesis-python-5.38.1","sha":"fb63a0904dcce1ddb5075a096439ed5ae7524e5b","kind":"commit","published_at":"2020-10-26T15:47:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.38.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.38.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.38.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.38.1/manifests"},{"name":"hypothesis-python-5.38.0","sha":"7dd373b24483abf44c21fbba24f57905264721d8","kind":"commit","published_at":"2020-10-24T11:31:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.38.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.38.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.38.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.38.0/manifests"},{"name":"hypothesis-python-5.37.5","sha":"833ca43d00771991a676c4284d7ff1586477ec58","kind":"commit","published_at":"2020-10-24T04:05:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.37.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.37.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.5/manifests"},{"name":"hypothesis-python-5.37.4","sha":"2b470fc9b89b41cab875837c215f187383086075","kind":"commit","published_at":"2020-10-20T14:29:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.37.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.37.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.4/manifests"},{"name":"hypothesis-python-5.37.3","sha":"388b0d68a071019b66a3dea2ff7e5db6bd8d0a65","kind":"commit","published_at":"2020-10-15T03:18:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.37.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.37.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.3/manifests"},{"name":"hypothesis-python-5.37.2","sha":"f6e9763b3880da89e3eca6f1207ad0da84df4c7e","kind":"commit","published_at":"2020-10-14T23:57:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.37.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.37.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.2/manifests"},{"name":"hypothesis-python-5.37.1","sha":"2c76de165db84f5d3ee389d6ce787da4c153beca","kind":"commit","published_at":"2020-10-07T02:41:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.37.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.37.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.1/manifests"},{"name":"hypothesis-python-5.37.0","sha":"fae4ecd45d4eecf2ba7decbdaad92d941adee435","kind":"commit","published_at":"2020-10-03T00:38:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.37.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.37.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.37.0/manifests"},{"name":"hypothesis-python-5.36.2","sha":"70a9086d67191b71dc212f5c97f521fd3da70281","kind":"commit","published_at":"2020-10-02T15:17:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.36.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.36.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.36.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.36.2/manifests"},{"name":"hypothesis-python-5.36.1","sha":"c298552c5de495e3992f00ddb256dc6d2273d6d5","kind":"commit","published_at":"2020-09-25T16:32:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.36.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.36.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.36.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.36.1/manifests"},{"name":"hypothesis-python-5.36.0","sha":"092b2d340f56b6b5ab562a7f41a7754f06597ae3","kind":"commit","published_at":"2020-09-24T03:07:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.36.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.36.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.36.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.36.0/manifests"},{"name":"hypothesis-python-5.35.4","sha":"51622eeccae7c18c759a295390e3744b2206d1e7","kind":"commit","published_at":"2020-09-21T09:06:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.35.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.35.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.4/manifests"},{"name":"hypothesis-python-5.35.3","sha":"ea0a0c39f5b33a3f1db6fd06d861d865d0fdc130","kind":"commit","published_at":"2020-09-15T14:35:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.35.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.35.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.3/manifests"},{"name":"hypothesis-python-5.35.2","sha":"d92d86d6c88468b6a2221bc0ef4a187e906e6846","kind":"commit","published_at":"2020-09-14T13:44:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.35.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.35.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.2/manifests"},{"name":"hypothesis-python-5.35.1","sha":"3aee0bfd8599d0e1b1f3f5df64adb0a6f82bff0f","kind":"commit","published_at":"2020-09-14T03:31:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.35.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.35.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.1/manifests"},{"name":"hypothesis-python-5.35.0","sha":"0a5dc9c868b9c6f23c7137c2f9386c50a239c0dd","kind":"commit","published_at":"2020-09-11T08:07:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.35.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.35.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.35.0/manifests"},{"name":"hypothesis-python-5.34.1","sha":"eecf21b8c9cea8d0ba22e6851e78e19e8e9438bd","kind":"commit","published_at":"2020-09-11T01:32:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.34.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.34.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.34.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.34.1/manifests"},{"name":"hypothesis-python-5.34.0","sha":"301f8e9e57d44d07550265c262e27abcefd13448","kind":"commit","published_at":"2020-09-11T00:28:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.34.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.34.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.34.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.34.0/manifests"},{"name":"hypothesis-python-5.33.2","sha":"a851d10bf2f91988d297cd4232b1cf38fc1e7f26","kind":"commit","published_at":"2020-09-09T13:53:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.33.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.33.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.33.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.33.2/manifests"},{"name":"hypothesis-python-5.33.1","sha":"62b09e6c6b3ec9e3fa572ba4a00005db56cfcde1","kind":"commit","published_at":"2020-09-07T10:46:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.33.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.33.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.33.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.33.1/manifests"},{"name":"hypothesis-python-5.33.0","sha":"d1efdd688d889931427afa0defdc4abdbfc95c1a","kind":"commit","published_at":"2020-09-06T12:13:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.33.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.33.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.33.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.33.0/manifests"},{"name":"hypothesis-python-5.32.1","sha":"9a24418c28eee5898bca4af3c43aa1054b1094d6","kind":"commit","published_at":"2020-09-06T09:05:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.32.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.32.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.32.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.32.1/manifests"},{"name":"hypothesis-python-5.32.0","sha":"1bb062f7e0d6ccb6381487cbdd481e1825bf5562","kind":"commit","published_at":"2020-09-04T14:49:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.32.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.32.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.32.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.32.0/manifests"},{"name":"hypothesis-python-5.31.0","sha":"ac4aea0c7d73d656d86348650aaa72cd19355d7b","kind":"commit","published_at":"2020-09-04T13:29:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.31.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.31.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.31.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.31.0/manifests"},{"name":"hypothesis-python-5.30.1","sha":"caccabbd107757ee6e9de1de7e3cff5474d9ccc5","kind":"commit","published_at":"2020-09-04T01:19:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.30.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.30.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.30.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.30.1/manifests"},{"name":"hypothesis-python-5.30.0","sha":"a81a86caaa25212f7320574bee4655be06eb81e5","kind":"commit","published_at":"2020-08-30T10:50:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.30.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.30.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.30.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.30.0/manifests"},{"name":"hypothesis-python-5.29.4","sha":"de84503e6931d8989c7cbdefe861ad0493dee6b1","kind":"commit","published_at":"2020-08-28T11:14:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.29.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.29.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.4/manifests"},{"name":"hypothesis-python-5.29.3","sha":"8918e52d4322f77b49d2aa015075cf8852c68684","kind":"commit","published_at":"2020-08-27T23:22:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.29.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.29.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.3/manifests"},{"name":"hypothesis-python-5.29.2","sha":"11c79bfedc30cf72c2be55cc11e9725c50c59052","kind":"commit","published_at":"2020-08-27T22:53:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.29.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.29.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.2/manifests"},{"name":"hypothesis-python-5.29.1","sha":"f31c4d7579f219e6b7a34738db83cd9b50357272","kind":"commit","published_at":"2020-08-27T12:52:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.29.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.29.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.1/manifests"},{"name":"hypothesis-python-5.29.0","sha":"5ea3b1c565ef1ab7b5591e96afb31c9facb50d8d","kind":"commit","published_at":"2020-08-24T11:56:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.29.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.29.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.29.0/manifests"},{"name":"hypothesis-python-5.28.0","sha":"e18541b99f92c1b62debb321eb8045118aa90b43","kind":"commit","published_at":"2020-08-24T00:54:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.28.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.28.0/manifests"},{"name":"hypothesis-python-5.27.0","sha":"d55849df92d01a25364aa21a1adb310ee0a3a390","kind":"commit","published_at":"2020-08-20T06:21:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.27.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.27.0/manifests"},{"name":"hypothesis-python-5.26.1","sha":"d4dc8ad4c98f75326b6656701b3545d54a673ed4","kind":"commit","published_at":"2020-08-19T10:16:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.26.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.26.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.26.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.26.1/manifests"},{"name":"hypothesis-python-5.26.0","sha":"9cb7a77dc13aa96dceb88a60c7ac0d06280552d3","kind":"commit","published_at":"2020-08-17T06:19:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.26.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.26.0/manifests"},{"name":"hypothesis-python-5.25.0","sha":"9558848fec486a26c96510c1d1dd680d7347f8b9","kind":"commit","published_at":"2020-08-16T17:17:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.25.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.25.0/manifests"},{"name":"hypothesis-python-5.24.4","sha":"516a13db29207f97ba156b6f22b7e382de536423","kind":"commit","published_at":"2020-08-14T22:30:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.24.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.24.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.4/manifests"},{"name":"hypothesis-python-5.24.3","sha":"2852e864f256e1894ce5df9e081c4396256107d3","kind":"commit","published_at":"2020-08-13T10:19:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.24.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.24.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.3/manifests"},{"name":"hypothesis-python-5.24.2","sha":"06c4e050af7a5460682afabd2f580f45c93b56ef","kind":"commit","published_at":"2020-08-12T19:42:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.24.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.24.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.2/manifests"},{"name":"hypothesis-python-5.24.1","sha":"4742454907f10ea9909a5c9ec9e1c7438ad87582","kind":"commit","published_at":"2020-08-12T12:48:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.24.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.1/manifests"},{"name":"hypothesis-python-5.24.0","sha":"98fa784aa666eeeb4d95149a0fb285a9a0d1ee17","kind":"commit","published_at":"2020-08-10T14:14:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.24.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.24.0/manifests"},{"name":"hypothesis-python-5.23.12","sha":"64ebfe862f6029620e6eb80874253ae349e33fb3","kind":"commit","published_at":"2020-08-10T07:46:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.12/manifests"},{"name":"hypothesis-python-5.23.11","sha":"4b88026eab9d6b7ce7aaefa48455c6cc60459e23","kind":"commit","published_at":"2020-08-04T14:50:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.11/manifests"},{"name":"hypothesis-python-5.23.10","sha":"21e18798c49409c1c0fbfc3d24a484b0870e14cf","kind":"commit","published_at":"2020-08-04T14:21:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.10/manifests"},{"name":"hypothesis-python-5.23.9","sha":"a0f02a4aad628387dc9544a76e7685d733b0664b","kind":"commit","published_at":"2020-08-03T07:59:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.9/manifests"},{"name":"hypothesis-python-5.23.8","sha":"f27ba10ddab89f1c6433046dcb095ef26028b488","kind":"commit","published_at":"2020-07-31T09:23:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.8/manifests"},{"name":"hypothesis-python-5.23.7","sha":"cbf067253506ef4eca1a67a539dafb5d77acdb70","kind":"commit","published_at":"2020-07-29T14:00:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.7/manifests"},{"name":"hypothesis-python-5.23.6","sha":"d1d6edfcabf31fa148be7bcfb61ceed5da1f1b26","kind":"commit","published_at":"2020-07-29T13:36:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.6/manifests"},{"name":"hypothesis-python-5.23.5","sha":"4ac42e5e8e48730d53983abdac85b7b2e9e37f75","kind":"commit","published_at":"2020-07-29T11:40:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.5/manifests"},{"name":"hypothesis-python-5.23.4","sha":"e3bc4b0f503b1e1772c9563f6bbafd76065f29df","kind":"commit","published_at":"2020-07-29T09:38:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.4/manifests"},{"name":"hypothesis-python-5.23.3","sha":"c51b341c76972da872f5e6ccdd7c21b1f1d90dc0","kind":"commit","published_at":"2020-07-27T17:56:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.3/manifests"},{"name":"hypothesis-python-5.23.2","sha":"743feb1fa83d68424ca3b2a0e16ed8684a2cff79","kind":"commit","published_at":"2020-07-27T06:45:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.2/manifests"},{"name":"hypothesis-python-5.23.1","sha":"c2b1a1178fb308e9b54b0be5b7d1933f3e41f29f","kind":"commit","published_at":"2020-07-26T17:04:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.1/manifests"},{"name":"hypothesis-python-5.23.0","sha":"5d7ec790f2cd69f3647d2875ddb8c2a298b46b51","kind":"commit","published_at":"2020-07-26T14:14:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.23.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.23.0/manifests"},{"name":"hypothesis-python-5.22.0","sha":"e8d47d3d785aa01f0f1edbc374a2404ec86d7293","kind":"commit","published_at":"2020-07-25T15:54:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.22.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.22.0/manifests"},{"name":"hypothesis-python-5.21.0","sha":"b88d563266d3b3b2e277ec88fa6579a0c77fb318","kind":"commit","published_at":"2020-07-23T16:46:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.21.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.21.0/manifests"},{"name":"hypothesis-python-5.20.4","sha":"3945506b00ea68e34fb9ea00b691c68e3bc05d8c","kind":"commit","published_at":"2020-07-23T16:05:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.20.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.20.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.4/manifests"},{"name":"hypothesis-python-5.20.3","sha":"faf8b8e15dbfca46af2697e5b2428422e51b5c27","kind":"commit","published_at":"2020-07-21T12:42:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.20.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.20.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.3/manifests"},{"name":"hypothesis-python-5.20.2","sha":"4995f4678e36135b2182be328e257c5131eb62a5","kind":"commit","published_at":"2020-07-18T14:17:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.20.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.20.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.2/manifests"},{"name":"hypothesis-python-5.20.1","sha":"8a7a1644f1c8c288af8997551196cfaa86184abf","kind":"commit","published_at":"2020-07-17T16:35:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.20.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.1/manifests"},{"name":"hypothesis-python-5.20.0","sha":"d204ac4f108afdfabe70c9c430c245eb19e103bc","kind":"commit","published_at":"2020-07-17T09:09:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.20.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.20.0/manifests"},{"name":"hypothesis-python-5.19.3","sha":"f2d8f974895d1a1245a59e0dd446b9798ca111d9","kind":"commit","published_at":"2020-07-15T10:50:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.19.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.19.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.3/manifests"},{"name":"hypothesis-python-5.19.2","sha":"f4e21acb8cc685b192ad44ff7938665b49ee471a","kind":"commit","published_at":"2020-07-13T12:01:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.19.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.2/manifests"},{"name":"hypothesis-python-5.19.1","sha":"8bae9b8dd13a8b1a1161d7e166a9b93d5ea4f991","kind":"commit","published_at":"2020-07-12T12:38:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.19.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.1/manifests"},{"name":"hypothesis-python-5.19.0","sha":"dedfc1b36a42e93b0c611650ee8f8ec05ea7283e","kind":"commit","published_at":"2020-06-30T12:06:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.19.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.19.0/manifests"},{"name":"hypothesis-python-5.18.3","sha":"96f43fb8e8ea12bf64e905a9cc46e4c124c93450","kind":"commit","published_at":"2020-06-27T02:56:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.18.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.18.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.3/manifests"},{"name":"hypothesis-python-5.18.2","sha":"d5cbfb4f33a61bbfc1a72d440c69f45a75daaf34","kind":"commit","published_at":"2020-06-26T10:25:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.18.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.18.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.2/manifests"},{"name":"hypothesis-python-5.18.1","sha":"1d6d261faddd5fb99c36e9abcb855668a9114952","kind":"commit","published_at":"2020-06-25T12:57:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.18.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.18.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.1/manifests"},{"name":"hypothesis-python-5.18.0","sha":"ecf85e1cb232ec24ffb1709e6b6bae08740e5ad9","kind":"commit","published_at":"2020-06-22T15:26:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.18.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.18.0/manifests"},{"name":"hypothesis-python-5.17.0","sha":"ab07aa5cc05e3c87d860e903367dfd9b9a152fef","kind":"commit","published_at":"2020-06-22T15:00:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.17.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.17.0/manifests"},{"name":"hypothesis-python-5.16.3","sha":"d6c243fc60788a166eedcd5507a0f1ce71f2c89d","kind":"commit","published_at":"2020-06-21T16:38:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.16.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.16.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.3/manifests"},{"name":"hypothesis-python-5.16.2","sha":"c32fc04e2be58e0597d6a0b5f664b1e7122b8809","kind":"commit","published_at":"2020-06-19T07:33:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.16.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.2/manifests"},{"name":"hypothesis-python-5.16.1","sha":"5715f95d4d223b0da2c65c1289799f70d5ec655b","kind":"commit","published_at":"2020-06-10T08:08:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.16.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.1/manifests"},{"name":"hypothesis-python-5.16.0","sha":"e0a74a00ee21720a5eb9602d2a21d0c41ca2ebe6","kind":"commit","published_at":"2020-05-27T12:28:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.16.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.16.0/manifests"},{"name":"hypothesis-python-5.15.1","sha":"aa64ed7343de03227ce65e829835eca6df0d6870","kind":"commit","published_at":"2020-05-21T14:36:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.15.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.15.1/manifests"},{"name":"hypothesis-python-5.15.0","sha":"9c1e809ca3f854b97cd22d42dcd50f309f4c791e","kind":"commit","published_at":"2020-05-19T09:11:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.15.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.15.0/manifests"},{"name":"hypothesis-python-5.14.0","sha":"d2b8585de3ec5f389a5f31abeb0e55fe6638b110","kind":"commit","published_at":"2020-05-13T23:43:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.14.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.14.0/manifests"},{"name":"hypothesis-python-5.13.1","sha":"d1e264642fa46e4fe6e002d53544675ecf3887ad","kind":"commit","published_at":"2020-05-13T02:03:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.13.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.13.1/manifests"},{"name":"hypothesis-python-5.13.0","sha":"f8c62f03e44b29dc7dc63f80c929e7f6e242c2a8","kind":"commit","published_at":"2020-05-12T10:22:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.13.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.13.0/manifests"},{"name":"hypothesis-python-5.12.2","sha":"96d5c65f3565f86a60dcfc24d59b5fede9a73509","kind":"commit","published_at":"2020-05-12T09:49:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.12.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.12.2/manifests"},{"name":"hypothesis-python-5.12.1","sha":"0de2cf81b7b027a115e32f1726b47c434a4bd55e","kind":"commit","published_at":"2020-05-12T02:49:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.12.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.12.1/manifests"},{"name":"hypothesis-python-5.12.0","sha":"c5f8fb834a3e73e23960064ab1604ab44aafc926","kind":"commit","published_at":"2020-05-10T13:24:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.12.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.12.0/manifests"},{"name":"hypothesis-python-5.11.0","sha":"d26d63477d9274630d0659952d347d369240a012","kind":"commit","published_at":"2020-05-07T14:16:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.11.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.11.0/manifests"},{"name":"hypothesis-python-5.10.5","sha":"296572155cff74f9f64b2ae38ab89ed3247f978d","kind":"commit","published_at":"2020-05-04T09:27:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.10.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.10.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.5/manifests"},{"name":"hypothesis-python-5.10.4","sha":"effe571c8a93fe579054c403b211168fa3526b8e","kind":"commit","published_at":"2020-04-24T00:51:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.10.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.10.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.4/manifests"},{"name":"hypothesis-python-5.10.3","sha":"2c66c82da128cd96d2bc82c0ff03845790133dc7","kind":"commit","published_at":"2020-04-22T10:25:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.10.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.3/manifests"},{"name":"hypothesis-python-5.10.2","sha":"d036cbb7a03005f892ea0eb04c17a0089e15d6f7","kind":"commit","published_at":"2020-04-22T01:28:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.10.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.2/manifests"},{"name":"hypothesis-python-5.10.1","sha":"adbd6db6a53f532bce58e01113228a1bf4d564ed","kind":"commit","published_at":"2020-04-19T10:37:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.10.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.1/manifests"},{"name":"hypothesis-python-5.10.0","sha":"b512531032ca4205fc92ba5ebcc412f5c4a1cee7","kind":"commit","published_at":"2020-04-18T08:53:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.10.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.10.0/manifests"},{"name":"hypothesis-python-5.9.1","sha":"85158a2bae596104c58f011c7554802b3fe405b2","kind":"commit","published_at":"2020-04-16T03:50:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.9.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.9.1/manifests"},{"name":"hypothesis-python-5.9.0","sha":"d1caf97a43a312a19b1301928ecb869405a966ec","kind":"commit","published_at":"2020-04-15T06:30:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.9.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.9.0/manifests"},{"name":"hypothesis-python-5.8.6","sha":"bd048cd7e3a55b05f989e1d3898e8f81405fa7b9","kind":"commit","published_at":"2020-04-15T02:59:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.8.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.6/manifests"},{"name":"hypothesis-python-5.8.5","sha":"c80ba116dc3a87f65b18b76e354de893c8098e26","kind":"commit","published_at":"2020-04-15T01:59:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.8.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.5/manifests"},{"name":"hypothesis-python-5.8.4","sha":"368ea1f4257ad734b01ab89f01bcdebf27a3e06d","kind":"commit","published_at":"2020-04-14T23:16:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.8.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.4/manifests"},{"name":"hypothesis-python-5.8.3","sha":"69467efb2bc7429916a2bc92eaec0187103d0335","kind":"commit","published_at":"2020-04-12T23:24:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.8.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.3/manifests"},{"name":"hypothesis-python-5.8.2","sha":"e8eb5a9d9fadd31e80e0bf89649700f689ecc848","kind":"commit","published_at":"2020-04-12T10:08:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.8.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.2/manifests"},{"name":"hypothesis-python-5.8.1","sha":"5fc0685b798bdeb5bf551c212f6b5ec55e20426a","kind":"commit","published_at":"2020-04-12T03:38:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.8.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.1/manifests"},{"name":"hypothesis-python-5.8.0","sha":"5015982b8a16335f6aaffa4ed1637e4b8dbc97f5","kind":"commit","published_at":"2020-03-24T22:26:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.8.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.8.0/manifests"},{"name":"hypothesis-python-5.7.2","sha":"92d7c36d0d69291dd7347c4339aa3a5cfc1473a8","kind":"commit","published_at":"2020-03-24T20:46:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.7.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.7.2/manifests"},{"name":"hypothesis-python-5.7.1","sha":"81e24848b89a2e1d1db6277de6e2e41bea1670cb","kind":"commit","published_at":"2020-03-23T16:48:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.7.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.7.1/manifests"},{"name":"hypothesis-python-5.7.0","sha":"d9b326aaf6cee1f8219d39660a2dba5a0b18a426","kind":"commit","published_at":"2020-03-19T03:44:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.7.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.7.0/manifests"},{"name":"hypothesis-python-5.6.1","sha":"1982ec4c08281c055677bf63cc72b36411d1a190","kind":"commit","published_at":"2020-03-18T23:37:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.6.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.6.1/manifests"},{"name":"hypothesis-python-5.6.0","sha":"b48a18c30438f86b4d0474b14aa1b91c91649e1e","kind":"commit","published_at":"2020-02-29T22:27:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.6.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.6.0/manifests"},{"name":"hypothesis-python-5.5.5","sha":"411a0b9b83ff3790e9ed90d92d6800f440e5f195","kind":"commit","published_at":"2020-02-29T18:57:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.5.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.5/manifests"},{"name":"hypothesis-python-5.5.4","sha":"c9729bab3f60073b33037de5f077faf7f3529478","kind":"commit","published_at":"2020-02-16T22:36:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.5.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.4/manifests"},{"name":"hypothesis-python-5.5.3","sha":"47f1932b95f89277d31ffe4303be9a1019e9b1a9","kind":"commit","published_at":"2020-02-14T22:32:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.5.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.3/manifests"},{"name":"hypothesis-python-5.5.2","sha":"398ee69bbfaafa028e295594c0f4264a2d851c53","kind":"commit","published_at":"2020-02-13T11:40:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.5.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.2/manifests"},{"name":"hypothesis-python-5.5.1","sha":"f781f78cab528786fbc1a3aa27da0769b6af4109","kind":"commit","published_at":"2020-02-07T08:11:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.5.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.1/manifests"},{"name":"hypothesis-python-5.5.0","sha":"34cc6dc29f8503210deb5148f9f69ee47eacf5bd","kind":"commit","published_at":"2020-02-07T01:11:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.5.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.5.0/manifests"},{"name":"hypothesis-python-5.4.2","sha":"0cf2b0913bf40690b303c2ca7e672a9d734ec34b","kind":"commit","published_at":"2020-02-06T04:57:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.4.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.4.2/manifests"},{"name":"hypothesis-python-5.4.1","sha":"0c8f0299297d501c098ad205d240c0de4ec2f6d5","kind":"commit","published_at":"2020-02-01T08:26:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.4.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.4.1/manifests"},{"name":"hypothesis-python-5.4.0","sha":"a313aea802845ccda89767fae3fcb79d985e585e","kind":"commit","published_at":"2020-01-30T05:12:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.4.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.4.0/manifests"},{"name":"hypothesis-python-5.3.1","sha":"2b208a317a5cfa8fb771cf81c3724bdbc892782c","kind":"commit","published_at":"2020-01-26T15:30:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.3.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.3.1/manifests"},{"name":"hypothesis-python-5.3.0","sha":"825c1d5fa1dfd156c870b3bfb090909ab4db3e57","kind":"commit","published_at":"2020-01-21T07:13:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.3.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.3.0/manifests"},{"name":"hypothesis-python-5.2.1","sha":"0b9f04c1e11199c5050c0f8b22d41b622e45d50e","kind":"commit","published_at":"2020-01-21T06:14:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.2.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.2.1/manifests"},{"name":"hypothesis-python-5.2.0","sha":"f81f573181f9db01410aaea794ca0855c7a460d7","kind":"commit","published_at":"2020-01-19T20:37:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.2.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.2.0/manifests"},{"name":"hypothesis-python-5.1.6","sha":"70d63a61d7d49e53ba0f6667f6c8da336e9e33b4","kind":"commit","published_at":"2020-01-19T20:04:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.1.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.6/manifests"},{"name":"hypothesis-python-5.1.5","sha":"7b40929a3f5ca285e058267c42ea3d3ad947ed98","kind":"commit","published_at":"2020-01-12T16:14:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.1.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.5/manifests"},{"name":"hypothesis-python-5.1.4","sha":"6c5eeb9b450683820c5f18579322a53894ee6f7a","kind":"commit","published_at":"2020-01-11T05:48:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.1.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.4/manifests"},{"name":"hypothesis-python-5.1.3","sha":"86585e7cd9b3427882ddf64ae5cd9b3fab138e9e","kind":"commit","published_at":"2020-01-11T01:26:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.1.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.3/manifests"},{"name":"hypothesis-python-5.1.2","sha":"11c7c08d1a1b5208890f4bb7e1bf9359fcff80d1","kind":"commit","published_at":"2020-01-09T02:14:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.1.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.2/manifests"},{"name":"hypothesis-python-5.1.1","sha":"47f82a1cc02aec5ee4d95a21df5a6eecc4aa1047","kind":"commit","published_at":"2020-01-06T13:53:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.1.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.1/manifests"},{"name":"hypothesis-python-5.1.0","sha":"09cb0923b94ffed1c3d7a9ec7c7361d98bbb88a1","kind":"commit","published_at":"2020-01-03T12:18:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.1.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.1.0/manifests"},{"name":"hypothesis-python-5.0.1","sha":"60fe37df1ff7d56a51a6f530f85aa650c539a840","kind":"commit","published_at":"2020-01-01T22:02:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.0.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.0.1/manifests"},{"name":"hypothesis-python-5.0.0","sha":"b6df507253c9471cad14acfc2ec9fc9e1f9693bc","kind":"commit","published_at":"2020-01-01T00:12:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-5.0.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-5.0.0/manifests"},{"name":"hypothesis-python-4.57.1","sha":"63eb92570b530d76c16d37e1bbe559fbe7ffb673","kind":"commit","published_at":"2019-12-29T13:24:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.57.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.57.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.57.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.57.1/manifests"},{"name":"hypothesis-python-4.57.0","sha":"8bc7947773ec7cf10da4b0fa70dcbe9698a7be18","kind":"commit","published_at":"2019-12-28T14:34:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.57.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.57.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.57.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.57.0/manifests"},{"name":"hypothesis-python-4.56.3","sha":"c12c8a9ab1a3eb1d42ca59517999a5fbd58898a3","kind":"commit","published_at":"2019-12-22T02:14:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.56.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.56.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.3/manifests"},{"name":"hypothesis-python-4.56.2","sha":"68ef039ec5a3c0b9e9b2020ffef388886bff6894","kind":"commit","published_at":"2019-12-21T23:30:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.56.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.56.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.2/manifests"},{"name":"hypothesis-python-4.56.1","sha":"7e124a4f67846a999f0f527a3196b5dba68f074b","kind":"commit","published_at":"2019-12-19T02:40:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.56.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.56.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.1/manifests"},{"name":"hypothesis-python-4.56.0","sha":"e74a3441b6c795353417d99a83b5854c22343c98","kind":"commit","published_at":"2019-12-18T22:49:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.56.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.56.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.56.0/manifests"},{"name":"hypothesis-python-4.55.4","sha":"ffc235ada980d5c0f7ab4c855c9099534ed8d513","kind":"commit","published_at":"2019-12-18T18:01:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.55.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.55.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.4/manifests"},{"name":"hypothesis-python-4.55.3","sha":"6aabc1b789d71b7faba522d11ffb1c4c61a02513","kind":"commit","published_at":"2019-12-18T14:01:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.55.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.55.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.3/manifests"},{"name":"hypothesis-python-4.55.2","sha":"fe0fda0b3fdbaf1928ff4fe432b879fe42525446","kind":"commit","published_at":"2019-12-17T11:30:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.55.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.55.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.2/manifests"},{"name":"hypothesis-python-4.55.1","sha":"8b8966e7a2830ffbf1a188d79a0151bd86bec6c9","kind":"commit","published_at":"2019-12-16T22:59:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.55.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.55.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.1/manifests"},{"name":"hypothesis-python-4.55.0","sha":"fa20873d1a61b8b4c1c367b241c2f1df3424b659","kind":"commit","published_at":"2019-12-16T20:53:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.55.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.55.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.55.0/manifests"},{"name":"hypothesis-python-4.54.2","sha":"740f37f7491e4cc7e48b8152f61d82576885b3f1","kind":"commit","published_at":"2019-12-16T18:25:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.54.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.54.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.54.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.54.2/manifests"},{"name":"hypothesis-python-4.54.1","sha":"5770cd6e9c3fd91bedd36b49836f52ec991f78fa","kind":"commit","published_at":"2019-12-16T15:18:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.54.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.54.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.54.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.54.1/manifests"},{"name":"hypothesis-python-4.54.0","sha":"7d3aea477a4945e8acbd1ab47770e4a54271ef43","kind":"commit","published_at":"2019-12-15T16:14:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.54.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.54.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.54.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.54.0/manifests"},{"name":"hypothesis-python-4.53.3","sha":"e05902a7851fd5e45a1eeb8605446688c261a762","kind":"commit","published_at":"2019-12-15T03:20:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.53.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.53.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.3/manifests"},{"name":"hypothesis-python-4.53.2","sha":"83eb95facc41386824afb62de305879104ad0732","kind":"commit","published_at":"2019-12-11T15:48:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.53.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.53.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.2/manifests"},{"name":"hypothesis-python-4.53.1","sha":"23ec782aa8e1b781bf669d07427f73d7dcd36821","kind":"commit","published_at":"2019-12-09T16:17:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.53.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.53.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.1/manifests"},{"name":"hypothesis-python-4.53.0","sha":"42f8a14c77555c82696fa266c27a06980da77e9a","kind":"commit","published_at":"2019-12-09T14:32:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.53.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.53.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.53.0/manifests"},{"name":"hypothesis-python-4.52.0","sha":"069c7ce33ddd6f1570064f496f202265db93f7ad","kind":"commit","published_at":"2019-12-09T13:39:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.52.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.52.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.52.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.52.0/manifests"},{"name":"hypothesis-python-4.51.1","sha":"d0c321cad83ab04f3895f88147bd190ae2710f95","kind":"commit","published_at":"2019-12-09T11:18:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.51.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.51.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.51.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.51.1/manifests"},{"name":"hypothesis-python-4.51.0","sha":"99ceb21f2daae06ff070f57494df50af941e12a5","kind":"commit","published_at":"2019-12-07T21:58:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.51.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.51.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.51.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.51.0/manifests"},{"name":"hypothesis-python-4.50.8","sha":"d44dee2635061e1181302356c31091daf35a0798","kind":"commit","published_at":"2019-12-05T23:28:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.8/manifests"},{"name":"hypothesis-python-4.50.7","sha":"4e7d4555dd0cdcb4d312bf5595c4e2b428bff2e9","kind":"commit","published_at":"2019-12-05T14:47:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.7/manifests"},{"name":"hypothesis-python-4.50.6","sha":"8cfd0eb88e773c410eb6c7bee2bfbe6c757a30d5","kind":"commit","published_at":"2019-12-02T02:39:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.6/manifests"},{"name":"hypothesis-python-4.50.5","sha":"6f60d2e3b28e20b3ba84650eac5f45e33fb5cb61","kind":"commit","published_at":"2019-12-01T22:55:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.5/manifests"},{"name":"hypothesis-python-4.50.4","sha":"30cc2ea8ea55bf6d2fa9c0c2ee820d2688c1514f","kind":"commit","published_at":"2019-12-01T15:48:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.4/manifests"},{"name":"hypothesis-python-4.50.3","sha":"894c2524f5edae6dca745185bcd97bd4e0283e4b","kind":"commit","published_at":"2019-12-01T11:26:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.3/manifests"},{"name":"hypothesis-python-4.50.2","sha":"215bd06c7ba29be897319c0c4d322a6e16002fc5","kind":"commit","published_at":"2019-11-29T08:59:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.2/manifests"},{"name":"hypothesis-python-4.50.1","sha":"cb90785012a857919045efd98c9ac146e8721cb5","kind":"commit","published_at":"2019-11-29T00:07:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.1/manifests"},{"name":"hypothesis-python-4.50.0","sha":"627e4ce2c15b5860fa174bcc1aea23d36baa71d2","kind":"commit","published_at":"2019-11-28T22:33:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.50.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.50.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.50.0/manifests"},{"name":"hypothesis-python-4.49.0","sha":"12bb6e44698c8ff2eab824ac32f2ca59c3c0d16f","kind":"commit","published_at":"2019-11-28T15:42:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.49.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.49.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.49.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.49.0/manifests"},{"name":"hypothesis-python-4.48.1","sha":"e1c59aa637b552ab09bc2d354fefc871f29812dd","kind":"commit","published_at":"2019-11-28T15:14:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.48.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.48.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.48.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.48.1/manifests"},{"name":"hypothesis-python-4.48.0","sha":"41dcf9742d59368e0139189f4d1d284b82364c4e","kind":"commit","published_at":"2019-11-28T13:42:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.48.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.48.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.48.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.48.0/manifests"},{"name":"hypothesis-python-4.47.5","sha":"118b040536e58eb85eb975e3a5cb314404c93a1f","kind":"commit","published_at":"2019-11-28T10:20:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.47.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.47.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.5/manifests"},{"name":"hypothesis-python-4.47.4","sha":"c2d6eb2f01dc1689188fb8e0c02af6ed3a3fd8e5","kind":"commit","published_at":"2019-11-27T12:00:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.47.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.47.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.4/manifests"},{"name":"hypothesis-python-4.47.3","sha":"e5c7945627f64a190bb0228b0c2e079803ca0cf2","kind":"commit","published_at":"2019-11-26T16:43:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.47.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.47.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.3/manifests"},{"name":"hypothesis-python-4.47.2","sha":"498c7a1477e58f00df18ff42a77a360734cc5d60","kind":"commit","published_at":"2019-11-25T17:17:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.47.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.47.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.2/manifests"},{"name":"hypothesis-python-4.47.1","sha":"ecbf3eecccd3b8aea0ed408eaf44576a63103695","kind":"commit","published_at":"2019-11-24T15:46:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.47.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.47.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.1/manifests"},{"name":"hypothesis-python-4.47.0","sha":"687d09cee3250af05a1e772fd24ff98a2811a138","kind":"commit","published_at":"2019-11-24T12:54:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.47.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.47.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.47.0/manifests"},{"name":"hypothesis-python-4.46.1","sha":"63e2e709d200c8c29e6ee42976a284d5a42ccdd5","kind":"commit","published_at":"2019-11-23T21:51:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.46.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.46.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.46.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.46.1/manifests"},{"name":"hypothesis-python-4.46.0","sha":"99c07f377335023723276ab64586533607a202c4","kind":"commit","published_at":"2019-11-22T06:14:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.46.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.46.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.46.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.46.0/manifests"},{"name":"hypothesis-python-4.45.1","sha":"a0f617ddb43e16708c83539c526b85b80a3839b1","kind":"commit","published_at":"2019-11-20T23:28:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.45.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.45.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.45.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.45.1/manifests"},{"name":"hypothesis-python-4.45.0","sha":"97a6af71e8a0829ee6c4b4e2b50c4b870d6bf9e6","kind":"commit","published_at":"2019-11-20T21:41:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.45.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.45.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.45.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.45.0/manifests"},{"name":"hypothesis-python-4.44.5","sha":"76fb06c414b565e7abae74fc0114fbace14b9ebc","kind":"commit","published_at":"2019-11-20T21:13:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.44.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.44.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.5/manifests"},{"name":"hypothesis-python-4.44.4","sha":"6f7c736444f573354e5a4cc7ce290763d5f5984e","kind":"commit","published_at":"2019-11-20T14:07:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.44.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.44.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.4/manifests"},{"name":"hypothesis-python-4.44.3","sha":"098415eea0dba265f6341198b7d27da6530e4f02","kind":"commit","published_at":"2019-11-20T13:12:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.44.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.44.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.3/manifests"},{"name":"hypothesis-python-4.44.2","sha":"358a3c70277f7a921dd4338ef627ecdf91b0330e","kind":"commit","published_at":"2019-11-12T13:34:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.44.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.44.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.2/manifests"},{"name":"hypothesis-python-4.44.1","sha":"b1a557ca4f333e74332056246941c19d560b5427","kind":"commit","published_at":"2019-11-11T21:57:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.44.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.44.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.1/manifests"},{"name":"hypothesis-python-4.44.0","sha":"93df86cae3c413bbfdefb66806977ed37263df87","kind":"commit","published_at":"2019-11-11T15:01:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.44.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.44.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.44.0/manifests"},{"name":"hypothesis-python-4.43.9","sha":"109c69f1c6de542747203feee7294b57a927efdf","kind":"commit","published_at":"2019-11-11T11:17:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.9/manifests"},{"name":"hypothesis-python-4.43.8","sha":"04185d2712452c1cd6c2d19977815e1244e9311f","kind":"commit","published_at":"2019-11-08T11:00:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.8/manifests"},{"name":"hypothesis-python-4.43.7","sha":"260de0f665ccac8117820f7c5c30f2b930f14851","kind":"commit","published_at":"2019-11-08T10:25:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.7/manifests"},{"name":"hypothesis-python-4.43.6","sha":"81bc646d715d8162ed3979ea51f17387f143aaae","kind":"commit","published_at":"2019-11-07T22:21:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.6/manifests"},{"name":"hypothesis-python-4.43.5","sha":"e978f32d38cb640b6bd3b457fc3dcaf9e5ed384f","kind":"commit","published_at":"2019-11-06T09:27:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.5/manifests"},{"name":"hypothesis-python-4.43.4","sha":"0efbf0b52f5dee59e3b3654807e1e00515fc1894","kind":"commit","published_at":"2019-11-05T23:25:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.4/manifests"},{"name":"hypothesis-python-4.43.3","sha":"1f66bed250379fe928261a2081f69d002f26854e","kind":"commit","published_at":"2019-11-05T14:43:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.3/manifests"},{"name":"hypothesis-python-4.43.2","sha":"5beb61d09bf6377fccff22e8af9ddf8e04e420c9","kind":"commit","published_at":"2019-11-05T03:10:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.2/manifests"},{"name":"hypothesis-python-4.43.1","sha":"3a6aaf2c8ffaa999e01ec1c9e41fb7217c99fa09","kind":"commit","published_at":"2019-11-04T04:13:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.1/manifests"},{"name":"hypothesis-python-4.43.0","sha":"3f34bb863b63683013445d09ab8c6347ed153c34","kind":"commit","published_at":"2019-11-04T01:16:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.43.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.43.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.43.0/manifests"},{"name":"hypothesis-python-4.42.10","sha":"b36c043159ba1ba93a2be6dd290d924c4c39bf23","kind":"commit","published_at":"2019-11-03T03:06:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.10/manifests"},{"name":"hypothesis-python-4.42.9","sha":"93f57510c2828c35ca498c6f6a332ea2750beeb5","kind":"commit","published_at":"2019-11-03T01:59:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.9/manifests"},{"name":"hypothesis-python-4.42.8","sha":"c1feee0d7167be1b09010db6bb2d05ed995af7ac","kind":"commit","published_at":"2019-11-02T22:33:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.8/manifests"},{"name":"hypothesis-python-4.42.7","sha":"10b6a8bd13e082335574602e55d1a8d1406879a8","kind":"commit","published_at":"2019-11-02T13:13:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.7/manifests"},{"name":"hypothesis-python-4.42.6","sha":"9c2a715d199229fdaaee73d89bae9bc8bb69b59c","kind":"commit","published_at":"2019-11-02T05:42:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.6/manifests"},{"name":"hypothesis-python-4.42.5","sha":"e80501c4f5a85ca11c6f1729b5f0268068796342","kind":"commit","published_at":"2019-11-01T15:55:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.5/manifests"},{"name":"hypothesis-python-4.42.4","sha":"ea367b392ec86bd5ce875afb38f9b22897aa61d5","kind":"commit","published_at":"2019-11-01T03:44:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.4/manifests"},{"name":"hypothesis-python-4.42.3","sha":"020df5cfc3d4ee301af799b96a8d3fa254f85ad8","kind":"commit","published_at":"2019-10-30T04:03:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.3/manifests"},{"name":"hypothesis-python-4.42.2","sha":"0640d8ec023b2cf20f4a3474bff4514957ca1e48","kind":"commit","published_at":"2019-10-30T02:52:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.2/manifests"},{"name":"hypothesis-python-4.42.1","sha":"8898d302e1fe6cd9e49d928f3ae7d0a941220e8c","kind":"commit","published_at":"2019-10-30T02:09:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.1/manifests"},{"name":"hypothesis-python-4.42.0","sha":"fd375d41aa24c02a4001f8bd9a470e380c4f19e9","kind":"commit","published_at":"2019-10-27T09:09:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.42.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.42.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.42.0/manifests"},{"name":"hypothesis-python-4.41.3","sha":"d02845add84f4335d81a85dd8f28f32676a401e5","kind":"commit","published_at":"2019-10-21T23:49:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.41.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.41.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.3/manifests"},{"name":"hypothesis-python-4.41.2","sha":"9344c28c7877689f196b6b57f9889ff6295c4bfc","kind":"commit","published_at":"2019-10-17T02:32:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.41.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.41.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.2/manifests"},{"name":"hypothesis-python-4.41.1","sha":"045dd3d98276caa534521db82140ba5e2033d34f","kind":"commit","published_at":"2019-10-16T22:30:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.41.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.41.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.1/manifests"},{"name":"hypothesis-python-4.41.0","sha":"7b8f8abcf7833fd46fb5021c6f0741142a09303a","kind":"commit","published_at":"2019-10-16T14:12:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.41.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.41.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.41.0/manifests"},{"name":"hypothesis-python-4.40.2","sha":"815fd21f3a44f02c3bc11e9fcc0c45b646ba5b6d","kind":"commit","published_at":"2019-10-16T10:50:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.40.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.40.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.40.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.40.2/manifests"},{"name":"hypothesis-python-4.40.1","sha":"d082b6b19e3e3ba0d5a69dfe0610e40ea4111d14","kind":"commit","published_at":"2019-10-14T21:49:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.40.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.40.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.40.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.40.1/manifests"},{"name":"hypothesis-python-4.40.0","sha":"48576da0bef2928b73aa7e9dd2e8f2b4db9c5185","kind":"commit","published_at":"2019-10-09T21:34:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.40.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.40.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.40.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.40.0/manifests"},{"name":"hypothesis-python-4.39.3","sha":"3022ae38214c9a15c8c552419145e87ce74c340d","kind":"commit","published_at":"2019-10-09T15:08:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.39.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.39.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.3/manifests"},{"name":"hypothesis-python-4.39.2","sha":"4a70818bbeac610a5bd2d5527ac6c548bc3fe32b","kind":"commit","published_at":"2019-10-09T14:30:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.39.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.39.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.2/manifests"},{"name":"hypothesis-python-4.39.1","sha":"8c4db65937be57fc311cb5f12741753790b5f800","kind":"commit","published_at":"2019-10-09T11:58:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.39.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.39.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.1/manifests"},{"name":"hypothesis-python-4.39.0","sha":"06ef0ba2bae2c4d501fb5d0596627052d42b74b9","kind":"commit","published_at":"2019-10-07T15:21:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.39.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.39.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.39.0/manifests"},{"name":"hypothesis-python-4.38.3","sha":"f605c8c350b301598f05e2af20a48ec3850f279f","kind":"commit","published_at":"2019-10-04T16:29:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.38.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.38.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.3/manifests"},{"name":"hypothesis-python-4.38.2","sha":"2dd4a87cc3ac6850832709da3afb5d340cc8c8ec","kind":"commit","published_at":"2019-10-02T15:55:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.38.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.38.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.2/manifests"},{"name":"hypothesis-python-4.38.1","sha":"e7a689498f14089ba24ff581f9dd0e0e1e57709d","kind":"commit","published_at":"2019-10-01T17:22:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.38.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.38.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.1/manifests"},{"name":"hypothesis-python-4.38.0","sha":"1384d8bdd8b17524df3ec8165bba9bb09238a4ff","kind":"commit","published_at":"2019-10-01T15:17:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.38.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.38.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.38.0/manifests"},{"name":"hypothesis-python-4.37.0","sha":"7766099d4d0b92090db2c4370db7f5ccbd9a7c97","kind":"commit","published_at":"2019-09-28T02:44:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.37.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.37.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.37.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.37.0/manifests"},{"name":"hypothesis-python-4.36.2","sha":"195ac07c1bf9c955a12a9a54523ef5ced9e64e23","kind":"commit","published_at":"2019-09-20T02:42:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.36.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.36.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.36.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.36.2/manifests"},{"name":"hypothesis-python-4.36.1","sha":"679284b4f73c692a77a15fd2a201cd12548ca8aa","kind":"commit","published_at":"2019-09-17T02:19:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.36.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.36.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.36.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.36.1/manifests"},{"name":"hypothesis-python-4.36.0","sha":"a8651d46f779471e11b29813f471ec644197aeaa","kind":"commit","published_at":"2019-09-09T23:39:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.36.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.36.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.36.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.36.0/manifests"},{"name":"hypothesis-python-4.35.1","sha":"6c651fe533c3b4d1676b186bf6af0071d81516da","kind":"commit","published_at":"2019-09-09T23:05:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.35.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.35.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.35.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.35.1/manifests"},{"name":"hypothesis-python-4.35.0","sha":"6ac1eefd78831074c9042e87b937fefab5fe8e76","kind":"commit","published_at":"2019-09-04T16:09:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.35.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.35.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.35.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.35.0/manifests"},{"name":"hypothesis-python-4.34.0","sha":"1c906ebe234fe4b8f6f6583ad1d1658b2198cd36","kind":"commit","published_at":"2019-08-23T22:47:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.34.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.34.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.34.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.34.0/manifests"},{"name":"hypothesis-python-4.33.1","sha":"e55b9681a10d7893af17fc550ed0a7c00dc8248b","kind":"commit","published_at":"2019-08-21T03:41:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.33.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.33.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.33.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.33.1/manifests"},{"name":"hypothesis-python-4.33.0","sha":"5a318350a8390070759030d4983619981c8c8dce","kind":"commit","published_at":"2019-08-20T01:16:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.33.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.33.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.33.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.33.0/manifests"},{"name":"hypothesis-python-4.32.3","sha":"4ca2e2def5cf7b1198350ed7dc671d2427d7eb48","kind":"commit","published_at":"2019-08-05T11:55:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.32.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.32.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.3/manifests"},{"name":"hypothesis-python-4.32.2","sha":"d9a550acb8295789b9e4a34708fb597cb2436020","kind":"commit","published_at":"2019-07-30T03:29:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.32.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.32.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.2/manifests"},{"name":"hypothesis-python-4.32.1","sha":"7b4b8a12661bc21aecf651ce32329c1d50e1561d","kind":"commit","published_at":"2019-07-29T09:47:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.32.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.32.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.1/manifests"},{"name":"hypothesis-python-4.32.0","sha":"166ef4ddb98efdc1de3ecfc94bd0d1a525029110","kind":"commit","published_at":"2019-07-28T22:58:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.32.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.32.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.32.0/manifests"},{"name":"hypothesis-python-4.31.1","sha":"39ca4ad4987f63e58a95d19df3d5d14faa6c22cb","kind":"commit","published_at":"2019-07-28T06:15:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.31.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.31.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.31.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.31.1/manifests"},{"name":"hypothesis-python-4.31.0","sha":"0cc3c1d930f1cad06de0d7a64f1d003f15133ce8","kind":"commit","published_at":"2019-07-24T18:37:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.31.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.31.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.31.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.31.0/manifests"},{"name":"hypothesis-python-4.28.2","sha":"bc9c072fe71640a463304b40e62751d67b8df25a","kind":"commit","published_at":"2019-07-14T07:33:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.28.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.28.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.28.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.28.2/manifests"},{"name":"hypothesis-python-4.28.1","sha":"60cf36a392f35c2178ca9615608e6fe53965f454","kind":"commit","published_at":"2019-07-12T07:01:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.28.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.28.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.28.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.28.1/manifests"},{"name":"hypothesis-python-4.28.0","sha":"0dbf160f46a0e2f075171406995ebb248e54c759","kind":"commit","published_at":"2019-07-11T21:43:05.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.28.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.28.0/manifests"},{"name":"hypothesis-python-4.27.0","sha":"e80863b57fbc3ea376c91bd04ecf7380b907def9","kind":"commit","published_at":"2019-07-08T12:43:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.27.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.27.0/manifests"},{"name":"hypothesis-python-4.26.4","sha":"1731e66268a0d38e7c083c5eb5692b21ba2f94ba","kind":"commit","published_at":"2019-07-07T20:44:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.26.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.26.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.4/manifests"},{"name":"hypothesis-python-4.26.3","sha":"c4e5d051d08e0c13b897adc32144d15fabbceac4","kind":"commit","published_at":"2019-07-05T17:17:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.26.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.26.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.3/manifests"},{"name":"hypothesis-python-4.26.2","sha":"622497c4e3c4c12edf0641887398153168ae1cf1","kind":"commit","published_at":"2019-07-04T19:24:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.26.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.26.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.2/manifests"},{"name":"hypothesis-python-4.26.1","sha":"15e69b044898d3c805cc14861fd068416add5577","kind":"commit","published_at":"2019-07-04T13:48:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.26.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.26.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.1/manifests"},{"name":"hypothesis-python-4.26.0","sha":"8fe82f2e31b99cee3f44c0a75fe70b261a4cccd4","kind":"commit","published_at":"2019-07-04T09:32:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.26.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.26.0/manifests"},{"name":"hypothesis-python-4.25.1","sha":"cf8a40f3c4f0387888613de9b78bb155e128a6a8","kind":"commit","published_at":"2019-07-03T09:23:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.25.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.25.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.25.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.25.1/manifests"},{"name":"hypothesis-python-4.25.0","sha":"4e065f9c3ba2bc2c79303505f82ac95016927ed9","kind":"commit","published_at":"2019-07-03T00:30:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.25.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.25.0/manifests"},{"name":"hypothesis-python-4.24.6","sha":"c46695dc56f6aab5204f143b42a1b90aedaedaa7","kind":"commit","published_at":"2019-06-26T23:02:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.24.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.24.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.6/manifests"},{"name":"hypothesis-python-4.24.5","sha":"4130d2ff165f63269ff57092b5093ac4699a6c7e","kind":"commit","published_at":"2019-06-23T15:34:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.24.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.24.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.5/manifests"},{"name":"hypothesis-python-4.24.4","sha":"f601e186efc39dc9ef8c6a22a7a157be73ab2b23","kind":"commit","published_at":"2019-06-21T06:58:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.24.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.24.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.4/manifests"},{"name":"hypothesis-python-4.24.3","sha":"94b19515b49205480d560c308b22c90f78a3713e","kind":"commit","published_at":"2019-06-07T06:14:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.24.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.24.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.3/manifests"},{"name":"hypothesis-python-4.24.2","sha":"456e8bd6b5bc13e2237692794f84ba22a5c1f8d0","kind":"commit","published_at":"2019-06-06T08:19:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.24.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.24.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.2/manifests"},{"name":"hypothesis-python-4.24.1","sha":"ce280e7975cb49101d52374f56941738e1eaa932","kind":"commit","published_at":"2019-06-04T14:54:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.24.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.1/manifests"},{"name":"hypothesis-python-4.24.0","sha":"389d47c595a4a8e4a80e187bbe4551568419e6e5","kind":"commit","published_at":"2019-05-29T23:08:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.24.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.24.0/manifests"},{"name":"hypothesis-python-4.23.9","sha":"8cff86636ca1d93121d334eeadc24b917b8d28e5","kind":"commit","published_at":"2019-05-28T12:57:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.9/manifests"},{"name":"hypothesis-python-4.23.8","sha":"03e3108cd3a13d0a0e25b043237dbea70cbf972a","kind":"commit","published_at":"2019-05-26T08:26:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.8/manifests"},{"name":"hypothesis-python-4.23.7","sha":"648ab9139fdc2298902ee6ce5ed23da7b30d6606","kind":"commit","published_at":"2019-05-26T03:40:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.7/manifests"},{"name":"hypothesis-python-4.23.6","sha":"74ff921a0bc91dd7c61ba6e9d5640551ea6d6b03","kind":"commit","published_at":"2019-05-19T20:33:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.6/manifests"},{"name":"hypothesis-python-4.23.5","sha":"188258980e31c405b929cfd2ed523bfb526884f7","kind":"commit","published_at":"2019-05-16T22:20:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.5/manifests"},{"name":"hypothesis-python-4.23.4","sha":"a99d77352ef258302abd5e6b3a0ff16606b9535c","kind":"commit","published_at":"2019-05-09T06:15:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.4/manifests"},{"name":"hypothesis-python-4.23.3","sha":"949a9c251b2d3a3117a8c555b4311199c1888397","kind":"commit","published_at":"2019-05-09T04:02:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.3/manifests"},{"name":"hypothesis-python-4.23.2","sha":"88e262548b75e428978fbafb4a786eb46db3116c","kind":"commit","published_at":"2019-05-08T16:11:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.2/manifests"},{"name":"hypothesis-python-4.23.1","sha":"b969c5a5240cc04dba82d36929a3261784cf55c2","kind":"commit","published_at":"2019-05-08T13:09:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.1/manifests"},{"name":"hypothesis-python-4.23.0","sha":"28fb7f090ec52b33d71f4e0c07af90b496c31d44","kind":"commit","published_at":"2019-05-08T02:02:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.23.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.23.0/manifests"},{"name":"hypothesis-python-4.22.3","sha":"a4078b80db7227b063bdcaea93497d8595a537eb","kind":"commit","published_at":"2019-05-07T19:55:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.22.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.22.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.3/manifests"},{"name":"hypothesis-python-4.22.2","sha":"ed1ff1acb0cd2df0c64ea71337959b1547e1c32f","kind":"commit","published_at":"2019-05-07T17:25:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.22.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.22.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.2/manifests"},{"name":"hypothesis-python-4.22.1","sha":"ad1ccc9dbd5fe2687b924d513e62de5c4db6bde8","kind":"commit","published_at":"2019-05-07T16:53:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.22.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.22.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.1/manifests"},{"name":"hypothesis-python-4.22.0","sha":"624c7c9fec13e7e50b9aa4458b68edaa7dbc5cc8","kind":"commit","published_at":"2019-05-07T03:30:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.22.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.22.0/manifests"},{"name":"hypothesis-python-4.21.1","sha":"8de3635ab015b621ed8d31e676d22541e23e9902","kind":"commit","published_at":"2019-05-06T16:02:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.21.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.21.1/manifests"},{"name":"hypothesis-python-4.21.0","sha":"7bf08e9320decd5b8207d8c69c12c033394a351a","kind":"commit","published_at":"2019-05-05T05:23:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.21.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.21.0/manifests"},{"name":"hypothesis-python-4.20.0","sha":"61c2270244e3cedfe470429b00d748744dd6e4eb","kind":"commit","published_at":"2019-05-05T03:15:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.20.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.20.0/manifests"},{"name":"hypothesis-python-4.19.0","sha":"697887e8cd168e1bb8faaa7d929ff043131c560f","kind":"commit","published_at":"2019-05-05T02:45:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.19.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.19.0/manifests"},{"name":"hypothesis-python-4.18.3","sha":"71485ec04ae888b3280faf287c54b4dc8b652af6","kind":"commit","published_at":"2019-04-30T15:41:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.18.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.18.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.3/manifests"},{"name":"hypothesis-python-4.18.2","sha":"07204036da4d59228d88b55daa7858c67bf8c355","kind":"commit","published_at":"2019-04-30T01:28:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.18.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.18.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.2/manifests"},{"name":"hypothesis-python-4.18.1","sha":"26638a0f3e6038aef27acbe4a5222ebaaff2733a","kind":"commit","published_at":"2019-04-29T22:24:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.18.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.18.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.1/manifests"},{"name":"hypothesis-python-4.18.0","sha":"62ef622d549dd5952d1219009058bb5a9a4d5a87","kind":"commit","published_at":"2019-04-24T17:45:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.18.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.18.0/manifests"},{"name":"hypothesis-python-4.17.2","sha":"39426dd20ca354085931f80a6576d5f0f093c9b5","kind":"commit","published_at":"2019-04-19T16:04:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.17.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.17.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.17.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.17.2/manifests"},{"name":"hypothesis-python-4.17.1","sha":"571b7674032f5bdd5318e0501699e1876060282a","kind":"commit","published_at":"2019-04-16T12:47:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.17.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.17.1/manifests"},{"name":"hypothesis-python-4.17.0","sha":"1a13335d38e61abb94bd7d0267488c4791ff60c7","kind":"commit","published_at":"2019-04-16T01:39:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.17.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.17.0/manifests"},{"name":"hypothesis-python-4.16.0","sha":"07f32bae6355bac2893eaf50a556f7957a8b2036","kind":"commit","published_at":"2019-04-12T19:18:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.16.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.16.0/manifests"},{"name":"hypothesis-python-4.15.0","sha":"da5addb9f25051414884e03587fd9a6c91e2982b","kind":"commit","published_at":"2019-04-09T02:15:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.15.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.15.0/manifests"},{"name":"hypothesis-python-4.14.7","sha":"8f1cba055ae2cc09dbb18da05b9a39c42375dbd8","kind":"commit","published_at":"2019-04-09T01:41:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.7/manifests"},{"name":"hypothesis-python-4.14.6","sha":"09822664027992a4feb95e367d8441108c052f7c","kind":"commit","published_at":"2019-04-07T11:06:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.6/manifests"},{"name":"hypothesis-python-4.14.5","sha":"368e1e3fc24dab8b4d8a6f3a149afb4246dadd85","kind":"commit","published_at":"2019-04-05T13:31:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.5/manifests"},{"name":"hypothesis-python-4.14.4","sha":"c572c4d4377bbe984209ff420ac2a40fd5782aef","kind":"commit","published_at":"2019-04-05T04:00:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.4/manifests"},{"name":"hypothesis-python-4.14.3","sha":"05623d2cb28ae5f57bab3e917e0cea22bf0b4f15","kind":"commit","published_at":"2019-04-03T11:43:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.3/manifests"},{"name":"hypothesis-python-4.14.2","sha":"662ee07599fa32aa19929c9f721b52681af7f5cf","kind":"commit","published_at":"2019-03-31T09:33:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.2/manifests"},{"name":"hypothesis-python-4.14.1","sha":"6bb230322521699a9b25cba31c37d45d7dd1ff41","kind":"commit","published_at":"2019-03-30T09:32:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.1/manifests"},{"name":"hypothesis-python-4.14.0","sha":"e98f12c3bd37b59559fbe24dc0839d595d0dd382","kind":"commit","published_at":"2019-03-19T22:09:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.14.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.14.0/manifests"},{"name":"hypothesis-python-4.13.0","sha":"1bb038404dae8afe8ba83d3a42ff4eaf80ac6226","kind":"commit","published_at":"2019-03-19T00:05:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.13.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.13.0/manifests"},{"name":"hypothesis-python-4.12.1","sha":"e5069dcedf9ac9c024d44f06f77a62cda053eccd","kind":"commit","published_at":"2019-03-18T19:28:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.12.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.12.1/manifests"},{"name":"hypothesis-python-4.12.0","sha":"da3deb8290a1424fc617cc5adc1a712a411609f0","kind":"commit","published_at":"2019-03-18T15:21:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.12.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.12.0/manifests"},{"name":"hypothesis-python-4.11.7","sha":"2ff4b6d699a2f3009fc0f44e8f9c8d4b7c7c84ba","kind":"commit","published_at":"2019-03-18T03:38:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.7/manifests"},{"name":"hypothesis-python-4.11.6","sha":"fdc8fce59b75c177e2d3807ddfc525c95d7c20fb","kind":"commit","published_at":"2019-03-15T17:28:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.6/manifests"},{"name":"hypothesis-python-4.11.5","sha":"b9bf844e9d635030c7ab66b9af1c3a815ae89ef9","kind":"commit","published_at":"2019-03-13T20:52:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.5/manifests"},{"name":"hypothesis-python-4.11.4","sha":"bd14afa32dd1b106e17ec90795f1c81a8a5f1920","kind":"commit","published_at":"2019-03-13T20:16:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.4/manifests"},{"name":"hypothesis-python-4.11.3","sha":"96b51cb83a0aa7660239d1134b393ca38f4abe13","kind":"commit","published_at":"2019-03-13T15:43:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.3/manifests"},{"name":"hypothesis-python-4.11.2","sha":"81e02921c869b41acaa9f4c8ecb0887996569723","kind":"commit","published_at":"2019-03-13T15:06:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.2/manifests"},{"name":"hypothesis-python-4.11.1","sha":"73e41c3514e073a1c1249d5bfd7ab7b46f47c6ec","kind":"commit","published_at":"2019-03-13T06:07:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.1/manifests"},{"name":"hypothesis-python-4.11.0","sha":"918a206fbceba7794068ce183601dda516d2b205","kind":"commit","published_at":"2019-03-12T22:59:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.11.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.11.0/manifests"},{"name":"hypothesis-python-4.10.0","sha":"7de5381b22d1e18593b664506fcf1c0df5066a5b","kind":"commit","published_at":"2019-03-11T15:57:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.10.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.10.0/manifests"},{"name":"hypothesis-python-4.9.0","sha":"6ebe9b96da620fa0f5e79e146790fdf1c0c08e9f","kind":"commit","published_at":"2019-03-09T05:52:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.9.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.9.0/manifests"},{"name":"hypothesis-python-4.8.0","sha":"888dd1d223a1413477a8445c002197df25259f37","kind":"commit","published_at":"2019-03-06T14:01:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.8.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.8.0/manifests"},{"name":"hypothesis-python-4.7.19","sha":"9ac3b2e9dbd2db7e92c9f8b211f669ac3e4a9481","kind":"commit","published_at":"2019-03-04T08:41:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.19","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.19/manifests"},{"name":"hypothesis-python-4.7.18","sha":"3c556465911d44f07ace6909ddab11a30606c536","kind":"commit","published_at":"2019-03-03T03:32:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.18","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.18/manifests"},{"name":"hypothesis-python-4.7.17","sha":"0e75e608839601b079a400b15cc2fb4b537bff46","kind":"commit","published_at":"2019-03-01T00:07:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.17","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.17/manifests"},{"name":"hypothesis-python-4.7.16","sha":"5146094641a5de6f826fdaae175760c5c6ace21c","kind":"commit","published_at":"2019-02-28T14:39:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.16","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.16/manifests"},{"name":"hypothesis-python-4.7.15","sha":"0d8559e667115e482d84171ba576fde8edd559d4","kind":"commit","published_at":"2019-02-28T11:10:35.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.15","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.15/manifests"},{"name":"hypothesis-python-4.7.14","sha":"c051f9f154bf64a090cde6b6f3436746601d6082","kind":"commit","published_at":"2019-02-28T03:40:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.14","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.14/manifests"},{"name":"hypothesis-python-4.7.13","sha":"d0f96579a10a76f5badbd4a2cf81bde46172f24d","kind":"commit","published_at":"2019-02-27T23:34:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.13","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.13/manifests"},{"name":"hypothesis-python-4.7.12","sha":"65b7f813ad00e5fb1cb1f32ed8176eb1b5d7bdb9","kind":"commit","published_at":"2019-02-27T01:48:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.12/manifests"},{"name":"hypothesis-python-4.7.11","sha":"8be55886f7ee5864305ed2b1407a0745286a465b","kind":"commit","published_at":"2019-02-25T21:44:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.11/manifests"},{"name":"hypothesis-python-4.7.10","sha":"07a238ce1af021420863814eee6c5387d2e57ed2","kind":"commit","published_at":"2019-02-25T09:54:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.10/manifests"},{"name":"hypothesis-python-4.7.9","sha":"3c05db21cc14f5222dad9edd069263e192ead857","kind":"commit","published_at":"2019-02-24T08:24:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.9/manifests"},{"name":"hypothesis-python-4.7.8","sha":"ca301ec698c2cdf149705ff76f80453addc142b9","kind":"commit","published_at":"2019-02-23T21:24:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.8/manifests"},{"name":"hypothesis-python-4.7.7","sha":"66069197dbb30c1b4b4f401e64344d22f545621e","kind":"commit","published_at":"2019-02-23T14:57:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.7/manifests"},{"name":"hypothesis-python-4.7.6","sha":"37f44ddbca5d67d328ff1dfa0ce31d713aa0b707","kind":"commit","published_at":"2019-02-23T13:08:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.6/manifests"},{"name":"hypothesis-python-4.7.5","sha":"e4dd9c480c2c400cba84a0a071e55cf015e49bf3","kind":"commit","published_at":"2019-02-23T05:14:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.5/manifests"},{"name":"hypothesis-python-4.7.4","sha":"66446e1d50a04bb33b1d0c65adb77d8336fd8cec","kind":"commit","published_at":"2019-02-22T22:28:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.4/manifests"},{"name":"hypothesis-python-4.7.3","sha":"35b2c3cbad2e7eafb7bd3e18271d383cb3624698","kind":"commit","published_at":"2019-02-22T14:36:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.3/manifests"},{"name":"hypothesis-python-4.7.2","sha":"a87eab1ab96b2c0bc7489b8b497de5dff83fdb15","kind":"commit","published_at":"2019-02-22T09:50:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.2/manifests"},{"name":"hypothesis-python-4.7.1","sha":"1980e06282ad5286b9637abf946091f2d50be417","kind":"commit","published_at":"2019-02-21T14:43:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.1/manifests"},{"name":"hypothesis-python-4.7.0","sha":"94475963e38e9ab861db87d955fd961ab02b4351","kind":"commit","published_at":"2019-02-21T08:52:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.7.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.7.0/manifests"},{"name":"hypothesis-python-4.6.1","sha":"1f3d65599da7a460a8582538459ba2373987331a","kind":"commit","published_at":"2019-02-19T21:14:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.6.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.6.1/manifests"},{"name":"hypothesis-python-4.6.0","sha":"9c60c488e927e412d7abaa0dfe3d52b168d0d7ec","kind":"commit","published_at":"2019-02-18T07:23:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.6.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.6.0/manifests"},{"name":"hypothesis-python-4.5.12","sha":"b74fe4980e7706bba96c96ef97195092088823bf","kind":"commit","published_at":"2019-02-18T04:37:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.12/manifests"},{"name":"hypothesis-python-4.5.11","sha":"c1e5e100b1ea9a17c7fb593e7a11f83b69471031","kind":"commit","published_at":"2019-02-15T00:36:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.11/manifests"},{"name":"hypothesis-python-4.5.10","sha":"4bc2c1b775931228235722afba6383a7b8402960","kind":"commit","published_at":"2019-02-14T21:46:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.10/manifests"},{"name":"hypothesis-python-4.5.9","sha":"a82882009ec35d19d20f2311bfb7924ad1cb0a57","kind":"commit","published_at":"2019-02-14T12:50:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.9/manifests"},{"name":"hypothesis-python-4.5.8","sha":"e715728faf1b865f2087070e9f3060fbcf61d0d4","kind":"commit","published_at":"2019-02-12T12:34:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.8/manifests"},{"name":"hypothesis-python-4.5.7","sha":"a72e2b790b35dd0a82322513ef045d0336d37a46","kind":"commit","published_at":"2019-02-11T20:26:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.7/manifests"},{"name":"hypothesis-python-4.5.6","sha":"c4d4f92b53f67594ef970637de4d0419a7e1c98b","kind":"commit","published_at":"2019-02-11T12:29:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.6/manifests"},{"name":"hypothesis-python-4.5.5","sha":"5cae75dc7a42976c0ae567222a7dfd6c9e0ee29e","kind":"commit","published_at":"2019-02-10T21:20:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.5/manifests"},{"name":"hypothesis-python-4.5.4","sha":"813a5e3ae9d827234e2b76287e3d87feaf1bfdb8","kind":"commit","published_at":"2019-02-08T03:09:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.4/manifests"},{"name":"hypothesis-python-4.5.3","sha":"5576eed867e87ada9709e1da7d104c5dffc4289a","kind":"commit","published_at":"2019-02-08T00:51:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.3/manifests"},{"name":"hypothesis-python-4.5.2","sha":"3662076eb8df43523e25fd81fe11443352b51226","kind":"commit","published_at":"2019-02-06T22:47:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.2/manifests"},{"name":"hypothesis-python-4.5.1","sha":"98358597869488ee4092f077af7b79d6e4579128","kind":"commit","published_at":"2019-02-05T09:15:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.1/manifests"},{"name":"hypothesis-python-4.5.0","sha":"d879f8277ed7398ec4e45d56d50cc55d42e7161b","kind":"commit","published_at":"2019-02-03T13:25:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.5.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.5.0/manifests"},{"name":"hypothesis-python-4.4.6","sha":"5932bf41efbbc04070b47ed47a193ed1cf9326f8","kind":"commit","published_at":"2019-02-03T10:50:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.4.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.6/manifests"},{"name":"hypothesis-python-4.4.5","sha":"8c172fc0edf60c3f1d7073fd7644d2f69aafc816","kind":"commit","published_at":"2019-02-02T16:17:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.4.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.5/manifests"},{"name":"hypothesis-python-4.4.4","sha":"c53d1c68da20183a0d30bf5d9d9ccc99cfdba9ff","kind":"commit","published_at":"2019-02-02T00:36:12.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.4.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.4/manifests"},{"name":"hypothesis-python-4.4.3","sha":"d1b0df5b91051de7d3f9cea6550ce31e9f0ee2c8","kind":"commit","published_at":"2019-01-25T17:48:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.4.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.3/manifests"},{"name":"hypothesis-python-4.4.2","sha":"a1d49839d86772c941e06fbce4d568de75cdbfb4","kind":"commit","published_at":"2019-01-24T23:04:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.4.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.2/manifests"},{"name":"hypothesis-python-4.4.1","sha":"e6709ccdf9b68dd3ef1969256ce1afc83398ac90","kind":"commit","published_at":"2019-01-24T15:08:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.4.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.1/manifests"},{"name":"hypothesis-python-4.4.0","sha":"29c9bdd2f8c180c075bbb1f81c1b2c55b7423fc0","kind":"commit","published_at":"2019-01-24T02:31:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.4.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.4.0/manifests"},{"name":"hypothesis-python-4.3.0","sha":"78060bdf22474ad16bff90b0903020c2d6923fc0","kind":"commit","published_at":"2019-01-24T01:26:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.3.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.3.0/manifests"},{"name":"hypothesis-python-4.2.0","sha":"820412b5ff78d22badd3b7002aa3ab990556e570","kind":"commit","published_at":"2019-01-23T22:33:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.2.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.2.0/manifests"},{"name":"hypothesis-python-4.1.2","sha":"645bb3fd6cf22d034c27a957daa18e42a2b8fd40","kind":"commit","published_at":"2019-01-23T11:55:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.1.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.1.2/manifests"},{"name":"hypothesis-python-4.1.1","sha":"c5a99d5577a0500948e763b21b00adfff538ac61","kind":"commit","published_at":"2019-01-23T07:41:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.1.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.1.1/manifests"},{"name":"hypothesis-python-4.1.0","sha":"8d273367648a27977ebae6ce1e383395b0e01175","kind":"commit","published_at":"2019-01-22T15:10:40.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.1.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.1.0/manifests"},{"name":"hypothesis-python-4.0.2","sha":"4126d34588c21af790761b2e3bc02a6e7125fefc","kind":"commit","published_at":"2019-01-22T13:15:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.0.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.0.2/manifests"},{"name":"hypothesis-python-4.0.1","sha":"703b6a1462b9ce2d28f38d81b93339e52c01e0a6","kind":"commit","published_at":"2019-01-16T11:45:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.0.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.0.1/manifests"},{"name":"hypothesis-python-4.0.0","sha":"5c94a63194aa410f7675d9d78f29adcbabb23118","kind":"commit","published_at":"2019-01-14T13:23:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-4.0.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-4.0.0/manifests"},{"name":"hypothesis-python-3.88.3","sha":"8431a80dcaea2c4302d725540a1ff486be52cf23","kind":"commit","published_at":"2019-01-11T09:05:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.88.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.88.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.3/manifests"},{"name":"hypothesis-python-3.88.2","sha":"c44414c11134f3ad18815dc677473b087fd25132","kind":"commit","published_at":"2019-01-11T08:12:39.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.88.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.88.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.2/manifests"},{"name":"hypothesis-python-3.88.1","sha":"4f3490ed527b05edd6895058bfb97b0e769f7227","kind":"commit","published_at":"2019-01-11T03:19:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.88.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.88.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.1/manifests"},{"name":"hypothesis-python-3.88.0","sha":"03df812f8f02175139a4cfed6b152c7f6adeefaa","kind":"commit","published_at":"2019-01-10T22:30:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.88.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.88.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.88.0/manifests"},{"name":"hypothesis-python-3.87.0","sha":"061c442992ad56d8b37033d05a81b821308c7702","kind":"commit","published_at":"2019-01-10T02:50:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.87.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.87.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.87.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.87.0/manifests"},{"name":"hypothesis-python-3.86.9","sha":"402e3c5f4e6b3dcdd1dc8ceb87ee9385d01fae97","kind":"commit","published_at":"2019-01-09T13:50:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.9/manifests"},{"name":"hypothesis-python-3.86.8","sha":"17b85ccf9f6c22737c8e1f325135d5685af978e0","kind":"commit","published_at":"2019-01-09T00:34:15.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.8/manifests"},{"name":"hypothesis-python-3.86.7","sha":"3c23c07ff3ca8401b36bd847e8fbd6a2096a09b6","kind":"commit","published_at":"2019-01-08T00:39:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.7/manifests"},{"name":"hypothesis-python-3.86.6","sha":"3d62c4e8cfc64698bcb80f097b63df38a6a35624","kind":"commit","published_at":"2019-01-07T13:59:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.6/manifests"},{"name":"hypothesis-python-3.86.5","sha":"12fdf80aded315f482e3f9d6dcd8a1943028015b","kind":"commit","published_at":"2019-01-06T13:15:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.5/manifests"},{"name":"hypothesis-python-3.86.4","sha":"0ca8df88715521aa1aff6bfe0ece463b74de43f3","kind":"commit","published_at":"2019-01-04T09:11:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.4/manifests"},{"name":"hypothesis-python-3.86.3","sha":"7107d9df0d455b71492fbd0552955e3c84b24d2a","kind":"commit","published_at":"2019-01-04T06:40:58.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.3/manifests"},{"name":"hypothesis-python-3.86.2","sha":"d2f774d2c456778257826e9397eb76ce717cc0fe","kind":"commit","published_at":"2019-01-04T02:24:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.2/manifests"},{"name":"hypothesis-python-3.86.1","sha":"ec4cb1369238618dbfbd9c110c4c7c5f026387cb","kind":"commit","published_at":"2019-01-04T01:25:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.1/manifests"},{"name":"hypothesis-python-3.86.0","sha":"5b9f95a9f9dc612558e257476b90a75d3c9c273e","kind":"commit","published_at":"2019-01-03T02:39:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.86.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.86.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.86.0/manifests"},{"name":"hypothesis-python-3.85.3","sha":"c0e351cf79228a41e906d2bdc39ea0a330d3ef06","kind":"commit","published_at":"2019-01-02T11:06:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.85.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.85.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.3/manifests"},{"name":"hypothesis-python-3.85.2","sha":"5b62d85b63e9ce1ef97aec8c872d186ea191afd3","kind":"commit","published_at":"2018-12-31T11:22:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.85.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.85.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.2/manifests"},{"name":"hypothesis-python-3.85.1","sha":"9514772cb245cfdec2f0fb3ebc50584bd79869dd","kind":"commit","published_at":"2018-12-30T00:42:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.85.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.85.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.1/manifests"},{"name":"hypothesis-python-3.85.0","sha":"e9c5134ca3b6a638c30a4bf1eeb2b5e996357e3f","kind":"commit","published_at":"2018-12-29T00:42:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.85.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.85.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.85.0/manifests"},{"name":"hypothesis-python-3.84.6","sha":"3739daec775db166dc74f9bb60547efaf196ee16","kind":"commit","published_at":"2018-12-28T06:42:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.84.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.84.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.6/manifests"},{"name":"hypothesis-python-3.84.5","sha":"848b49a1e402d395e56a1ac6e1bbac682bead559","kind":"commit","published_at":"2018-12-21T15:18:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.84.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.84.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.5/manifests"},{"name":"hypothesis-python-3.84.4","sha":"e8dc4df20397872f2c97671a6be874613aa67628","kind":"commit","published_at":"2018-12-21T05:12:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.84.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.84.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.4/manifests"},{"name":"hypothesis-python-3.84.3","sha":"ad6bb549adb4efc8b91f6df47cd5c977572b4191","kind":"commit","published_at":"2018-12-20T12:47:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.84.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.84.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.3/manifests"},{"name":"hypothesis-python-3.84.2","sha":"ce747870f3e5601fcfa10998925c4311db1aaf5d","kind":"commit","published_at":"2018-12-19T22:03:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.84.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.84.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.2/manifests"},{"name":"hypothesis-python-3.84.1","sha":"2a03b0942ff9a195aaebbe5e5f39339252584cc0","kind":"commit","published_at":"2018-12-18T23:21:56.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.84.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.84.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.1/manifests"},{"name":"hypothesis-python-3.84.0","sha":"7d1cf438bf7af2000ca84a8866e5d9dbc4b8995d","kind":"commit","published_at":"2018-12-18T03:31:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.84.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.84.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.84.0/manifests"},{"name":"hypothesis-python-3.83.2","sha":"c253284a1db922b600c24eeb90c8e0799bc10174","kind":"commit","published_at":"2018-12-17T12:22:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.83.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.83.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.83.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.83.2/manifests"},{"name":"hypothesis-python-3.83.1","sha":"cd5ffb972042b1e54087170d42e00f9a7fc71a91","kind":"commit","published_at":"2018-12-13T02:49:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.83.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.83.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.83.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.83.1/manifests"},{"name":"hypothesis-python-3.83.0","sha":"af79a66fbaa2247692f7fe0dff5502b9c839ccc3","kind":"commit","published_at":"2018-12-12T05:04:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.83.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.83.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.83.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.83.0/manifests"},{"name":"hypothesis-python-3.82.6","sha":"154a27d7577fcaf2a08fbdf6761f1f2a854e163b","kind":"commit","published_at":"2018-12-11T13:45:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.82.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.82.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.6/manifests"},{"name":"hypothesis-python-3.82.5","sha":"2cb01e9091cbb174eff723221563f7d59689cb71","kind":"commit","published_at":"2018-12-08T14:00:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.82.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.82.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.5/manifests"},{"name":"hypothesis-python-3.82.4","sha":"cbcb4a613971ba51c1974efc3adf8098bb380b27","kind":"commit","published_at":"2018-12-08T11:15:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.82.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.82.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.4/manifests"},{"name":"hypothesis-python-3.82.3","sha":"4b2aabe51a7e168f6f1f3835f286d092b0cd18fb","kind":"commit","published_at":"2018-12-08T10:25:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.82.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.82.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.3/manifests"},{"name":"hypothesis-python-3.82.2","sha":"762f83616d56a24910820210b828dc66738749a5","kind":"commit","published_at":"2018-12-08T03:17:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.82.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.82.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.2/manifests"},{"name":"hypothesis-python-3.82.1","sha":"da43eba90c1fbfa436c02e621f56dfa3a153a093","kind":"commit","published_at":"2018-10-29T23:40:11.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.82.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.82.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.1/manifests"},{"name":"hypothesis-python-3.82.0","sha":"223fe37305348b63b8c47bfe879bd0761b5a25f4","kind":"commit","published_at":"2018-10-29T23:08:46.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.82.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.82.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.82.0/manifests"},{"name":"hypothesis-python-3.81.0","sha":"5b67f821f447affb7c09835405247a36bd1cab80","kind":"commit","published_at":"2018-10-27T23:39:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.81.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.81.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.81.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.81.0/manifests"},{"name":"hypothesis-python-3.80.0","sha":"dd46aca7e521fccc81ef619704dfd363ebbe8c3a","kind":"commit","published_at":"2018-10-25T11:11:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.80.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.80.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.80.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.80.0/manifests"},{"name":"hypothesis-python-3.79.4","sha":"aa1df8e55b6232938e8fe7e1313455a65df1a57e","kind":"commit","published_at":"2018-10-25T10:37:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.79.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.79.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.4/manifests"},{"name":"hypothesis-ruby-0.2.0","sha":"308d8bd90dd587ca7dea134f42896990f132526f","kind":"commit","published_at":"2018-10-24T11:11:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.2.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.2.0/manifests"},{"name":"conjecture-rust-0.4.0","sha":"8a12fadf52f1343f8d70ddf20e469321e6d828bf","kind":"commit","published_at":"2018-10-24T11:10:10.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/conjecture-rust-0.4.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/conjecture-rust-0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.4.0/manifests"},{"name":"hypothesis-python-3.79.3","sha":"0f69cd0e47283661452deae7fc180f4c70564a51","kind":"commit","published_at":"2018-10-23T08:47:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.79.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.79.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.3/manifests"},{"name":"hypothesis-python-3.79.2","sha":"2f49307c7459e35bfb396f9b7aba8bbf2f727f66","kind":"commit","published_at":"2018-10-23T01:48:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.79.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.79.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.2/manifests"},{"name":"hypothesis-python-3.79.1","sha":"d4b6b5befe8dde7d464abb49b87e24edf24285e7","kind":"commit","published_at":"2018-10-22T23:26:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.79.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.79.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.1/manifests"},{"name":"hypothesis-python-3.79.0","sha":"192716ef679864e8685a6d759e609d70edfb25b7","kind":"commit","published_at":"2018-10-18T10:25:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.79.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.79.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.79.0/manifests"},{"name":"hypothesis-python-3.78.0","sha":"95a73866e4023454a38887ea207b5aa8bb940168","kind":"commit","published_at":"2018-10-16T23:28:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.78.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.78.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.78.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.78.0/manifests"},{"name":"hypothesis-python-3.77.0","sha":"22deba620e5703f3f289a983bff3bd4601317727","kind":"commit","published_at":"2018-10-16T09:52:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.77.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.77.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.77.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.77.0/manifests"},{"name":"hypothesis-python-3.76.1","sha":"eaf25f97c6823254a381272750becdf86a56b9e7","kind":"commit","published_at":"2018-10-16T08:26:21.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.76.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.76.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.76.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.76.1/manifests"},{"name":"hypothesis-python-3.76.0","sha":"4e208b1823474615930e004a1e6590edc37aa921","kind":"commit","published_at":"2018-10-11T05:54:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.76.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.76.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.76.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.76.0/manifests"},{"name":"hypothesis-python-3.75.4","sha":"9064a8fd13cc05261fbe0853b6f40f3313150e53","kind":"commit","published_at":"2018-10-10T04:17:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.75.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.75.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.4/manifests"},{"name":"hypothesis-python-3.75.3","sha":"23bd21b3f16d5b1ebd995b6f31fc8927e48eceb9","kind":"commit","published_at":"2018-10-09T11:21:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.75.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.75.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.3/manifests"},{"name":"hypothesis-python-3.75.2","sha":"208d4bdeed40051a4b6f3edfd8538db947de0acd","kind":"commit","published_at":"2018-10-09T08:37:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.75.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.75.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.2/manifests"},{"name":"hypothesis-python-3.75.1","sha":"3c6018fcb823048f6210d9b0e91cdbbbce012245","kind":"commit","published_at":"2018-10-09T02:47:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.75.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.75.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.1/manifests"},{"name":"hypothesis-python-3.75.0","sha":"5999d5ec8686296ae91a31caa75b410a51aae43b","kind":"commit","published_at":"2018-10-08T23:33:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.75.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.75.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.75.0/manifests"},{"name":"hypothesis-python-3.74.3","sha":"29b6fe5acdd2bbff53a6030695697ba29a0d2926","kind":"commit","published_at":"2018-10-08T05:18:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.74.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.74.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.3/manifests"},{"name":"hypothesis-python-3.74.2","sha":"2105c67de8287ad7521066a34f61ea3efbf940c0","kind":"commit","published_at":"2018-10-03T15:55:50.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.74.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.74.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.2/manifests"},{"name":"hypothesis-python-3.74.1","sha":"b6714d375be1d3c28bffa1b9013a3fb9f2872103","kind":"commit","published_at":"2018-10-03T13:23:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.74.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.74.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.1/manifests"},{"name":"hypothesis-python-3.74.0","sha":"03fdf0655dc4e0189f8075fe3963ff33ea61383d","kind":"commit","published_at":"2018-10-01T03:16:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.74.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.74.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.74.0/manifests"},{"name":"hypothesis-python-3.73.5","sha":"7047166998c5529e55d248b3036fe0f1d2ed456d","kind":"commit","published_at":"2018-10-01T01:52:54.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.73.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.73.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.5/manifests"},{"name":"hypothesis-python-3.73.4","sha":"afc0d1259ed47288800c6fe9a000c3b3f9c16818","kind":"commit","published_at":"2018-09-30T14:59:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.73.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.73.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.4/manifests"},{"name":"hypothesis-python-3.73.3","sha":"e8a45652c315198c828d0c76d91e1f613e1f3e74","kind":"commit","published_at":"2018-09-27T13:35:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.73.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.73.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.3/manifests"},{"name":"hypothesis-python-3.73.2","sha":"0fe7f819d953f81d3482969582dca29f73df46ec","kind":"commit","published_at":"2018-09-26T14:20:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.73.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.73.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.2/manifests"},{"name":"hypothesis-python-3.73.1","sha":"f2bfb12114c0ee69504d0633265f4a642b75710e","kind":"commit","published_at":"2018-09-25T13:45:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.73.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.73.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.1/manifests"},{"name":"hypothesis-python-3.73.0","sha":"6b4ce1356c49b87680840bf658c715ba1c096854","kind":"commit","published_at":"2018-09-24T16:04:34.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.73.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.73.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.73.0/manifests"},{"name":"hypothesis-python-3.72.0","sha":"b0cc3ae31ef504ea110578a51ddaad83cdd46f29","kind":"commit","published_at":"2018-09-24T12:45:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.72.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.72.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.72.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.72.0/manifests"},{"name":"hypothesis-ruby-0.1.2","sha":"4d5f0effb0d5537f87ec9f6729b7105329500d85","kind":"commit","published_at":"2018-09-24T11:43:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.1.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.1.2/manifests"},{"name":"hypothesis-python-3.71.11","sha":"3005071d243e21e5957199acc27341135f2b3592","kind":"commit","published_at":"2018-09-24T10:46:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.11/manifests"},{"name":"hypothesis-python-3.71.10","sha":"b4a064f0d922c04a53cc8a8b498260875110c2a4","kind":"commit","published_at":"2018-09-18T13:45:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.10/manifests"},{"name":"hypothesis-python-3.71.9","sha":"f3af2ee2beefb20ed1fd6511e8cf5e61335ae55e","kind":"commit","published_at":"2018-09-17T22:38:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.9/manifests"},{"name":"hypothesis-python-3.71.8","sha":"6b35f66c25825b0b895b5425572d47e3188a355e","kind":"commit","published_at":"2018-09-17T12:53:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.8/manifests"},{"name":"hypothesis-python-3.71.7","sha":"bdb87d042c49e2f624fec5c2b808e94a4ae03bd8","kind":"commit","published_at":"2018-09-17T12:06:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.7/manifests"},{"name":"hypothesis-python-3.71.6","sha":"c4840dff1f8cca03a36720540928c2621df57483","kind":"commit","published_at":"2018-09-16T06:32:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.6/manifests"},{"name":"hypothesis-python-3.71.5","sha":"151dfaa02cb809d701fec87bd6038f1cac47e9ad","kind":"commit","published_at":"2018-09-15T01:33:26.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.5/manifests"},{"name":"hypothesis-python-3.71.4","sha":"4dba2f78e13c63093ad159eda24f08e983ed01e6","kind":"commit","published_at":"2018-09-14T23:38:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.4/manifests"},{"name":"hypothesis-python-3.71.3","sha":"53a22406af83581ee7e23fe9b804dc2008ab2103","kind":"commit","published_at":"2018-09-09T23:39:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.3/manifests"},{"name":"hypothesis-python-3.71.2","sha":"2033bc0b0303b7d6ff81af52c0b8eb7fa28d074e","kind":"commit","published_at":"2018-09-09T23:12:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.2/manifests"},{"name":"hypothesis-python-3.71.1","sha":"7b92d268a681298ce5dbd10a28b6de262f7da444","kind":"commit","published_at":"2018-09-09T00:36:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.1/manifests"},{"name":"hypothesis-python-3.71.0","sha":"bae8167ce2fb68fe1152a4b8d4dc12f17d371855","kind":"commit","published_at":"2018-09-08T14:40:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.71.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.71.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.71.0/manifests"},{"name":"hypothesis-python-3.70.4","sha":"0e4161657d47c1a47feab7d13b9622ce6d3145ef","kind":"commit","published_at":"2018-09-08T07:57:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.70.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.70.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.4/manifests"},{"name":"hypothesis-python-3.70.3","sha":"76caed590bd37cc3af86506e78150b62bd5eba51","kind":"commit","published_at":"2018-09-03T12:03:23.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.70.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.70.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.3/manifests"},{"name":"hypothesis-python-3.70.2","sha":"3f3dc869742f1d6955ebd7c61680378a7e4ae8cf","kind":"commit","published_at":"2018-09-03T11:15:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.70.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.70.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.2/manifests"},{"name":"hypothesis-python-3.70.1","sha":"d625fd0c0e18892dd8f334d6fa99843765add51c","kind":"commit","published_at":"2018-09-03T08:04:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.70.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.70.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.1/manifests"},{"name":"hypothesis-python-3.70.0","sha":"d0df14fda9dfa98f411cb7813e9393a4b64ce37a","kind":"commit","published_at":"2018-09-01T05:09:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.70.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.70.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.70.0/manifests"},{"name":"hypothesis-ruby-0.1.1","sha":"e175e264c87c1d623e195cb5965dce9c7bbd67e6","kind":"commit","published_at":"2018-08-31T14:17:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.1.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.1.1/manifests"},{"name":"hypothesis-python-3.69.12","sha":"1a8cc300fd8dca13be1c36baa8519ab1df0d25fd","kind":"commit","published_at":"2018-08-30T12:32:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.12/manifests"},{"name":"hypothesis-python-3.69.11","sha":"c86d6ac626fc7180a1f9166a524b8b166b204b29","kind":"commit","published_at":"2018-08-29T06:34:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.11/manifests"},{"name":"hypothesis-python-3.69.10","sha":"13b2c1ef4ecaf55189babacfe62ab33a85b6c62b","kind":"commit","published_at":"2018-08-29T02:26:42.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.10/manifests"},{"name":"hypothesis-python-3.69.9","sha":"d79176079ab9aabea6bb7d5dde3fb65106c56059","kind":"commit","published_at":"2018-08-28T09:05:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.9/manifests"},{"name":"hypothesis-python-3.69.8","sha":"6898fc4495bca8b00fbe130c37f5b884ba296a9c","kind":"commit","published_at":"2018-08-28T08:12:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.8/manifests"},{"name":"hypothesis-python-3.69.7","sha":"8c0b7618c098557e7a0828f13e8c6bf2ed8336e8","kind":"commit","published_at":"2018-08-28T02:41:22.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.7/manifests"},{"name":"hypothesis-python-3.69.6","sha":"a772ee674cb3335366520ba84ee81182423c80fb","kind":"commit","published_at":"2018-08-27T22:21:29.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.6/manifests"},{"name":"hypothesis-python-3.69.5","sha":"250347e5718cf1586fb9c0fc319200518046d9c6","kind":"commit","published_at":"2018-08-27T15:48:47.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.5/manifests"},{"name":"hypothesis-python-3.69.4","sha":"4f74c51bfc5fc66b5ea125c4b3d79f89f3c911cc","kind":"commit","published_at":"2018-08-27T12:42:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.4/manifests"},{"name":"hypothesis-python-3.69.3","sha":"505d76bf87a5338287dea87ec70569c5cceb17b1","kind":"commit","published_at":"2018-08-27T04:54:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.3/manifests"},{"name":"hypothesis-python-3.69.2","sha":"026fa3598e10be651178c035272c1016a329ad45","kind":"commit","published_at":"2018-08-23T13:50:53.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.2/manifests"},{"name":"hypothesis-python-3.69.1","sha":"deb0163fca22ccca115dfb5f77d58b8b310676f6","kind":"commit","published_at":"2018-08-21T06:56:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.1/manifests"},{"name":"hypothesis-python-3.69.0","sha":"b2dc55f25856d97d41cdf631d35dcb351a3be70a","kind":"commit","published_at":"2018-08-20T12:04:48.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.69.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.69.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.69.0/manifests"},{"name":"hypothesis-python-3.68.3","sha":"cdfc98e5e8f6d342bb22e343b39cf796ea037bad","kind":"commit","published_at":"2018-08-20T09:05:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.68.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.68.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.3/manifests"},{"name":"hypothesis-python-3.68.2","sha":"22121229d1e3c3f0828f299c0161a15cbb0d7c04","kind":"commit","published_at":"2018-08-19T08:12:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.68.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.68.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.2/manifests"},{"name":"hypothesis-python-3.68.1","sha":"707a506456610f436cadd0a19abbd2924bfe7bb0","kind":"commit","published_at":"2018-08-18T08:17:57.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.68.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.68.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.1/manifests"},{"name":"hypothesis-python-3.68.0","sha":"8f99170494672d16f8b795f5f1befa5c54798c49","kind":"commit","published_at":"2018-08-15T15:36:55.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.68.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.68.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.68.0/manifests"},{"name":"hypothesis-python-3.67.1","sha":"1e1aeab698e612edfe88269310cefb1a8de7d1cc","kind":"commit","published_at":"2018-08-14T20:56:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.67.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.67.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.67.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.67.1/manifests"},{"name":"hypothesis-python-3.67.0","sha":"d46ae0540b645f5791f6bb9111b8fe90c57f256d","kind":"commit","published_at":"2018-08-10T12:30:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.67.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.67.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.67.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.67.0/manifests"},{"name":"hypothesis-python-3.66.33","sha":"05dcc6a4ef9378adde5f7a1b9ec9cb8c2b9b27e1","kind":"commit","published_at":"2018-08-10T10:42:00.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.33","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.33","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.33","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.33/manifests"},{"name":"hypothesis-python-3.66.32","sha":"cb95f00db9f1c20d00a9920ba734088ed450426d","kind":"commit","published_at":"2018-08-09T13:51:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.32","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.32","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.32","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.32/manifests"},{"name":"hypothesis-python-3.66.31","sha":"d2ffe717c4402ad60901e84af280f0b5c30c36d1","kind":"commit","published_at":"2018-08-08T22:15:38.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.31","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.31","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.31/manifests"},{"name":"hypothesis-python-3.66.30","sha":"df83de6e855b6d4d9e80447b80a6fba5a0ff72fd","kind":"commit","published_at":"2018-08-06T11:25:32.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.30","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.30","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.30/manifests"},{"name":"hypothesis-python-3.66.29","sha":"a1ba44d7ca076ed35f596c1bca126ad3cd5fa345","kind":"commit","published_at":"2018-08-05T18:02:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.29","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.29","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.29/manifests"},{"name":"hypothesis-python-3.66.28","sha":"db06f2db20ca52419616a418847fd923d1af4d20","kind":"commit","published_at":"2018-08-05T16:16:16.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.28","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.28","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.28/manifests"},{"name":"hypothesis-python-3.66.27","sha":"2847d471bb1a52ae33723fc878a81b068aa1f4ad","kind":"commit","published_at":"2018-08-05T13:03:08.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.27","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.27/manifests"},{"name":"hypothesis-python-3.66.26","sha":"fd2c65b0a8dff9f12ec15725b0da1e6778941bd2","kind":"commit","published_at":"2018-08-05T10:20:25.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.26","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.26/manifests"},{"name":"hypothesis-python-3.66.25","sha":"b1bf6c5cad07124c83f8fb93aa69e5b587897028","kind":"commit","published_at":"2018-08-05T06:14:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.25","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.25/manifests"},{"name":"hypothesis-python-3.66.24","sha":"02e0c3fc7a3701b72c62fbb3f08a22ec4a26ad9a","kind":"commit","published_at":"2018-08-03T16:09:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.24","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.24/manifests"},{"name":"hypothesis-python-3.66.23","sha":"2dcdbd33f0bed75a28a7aab37860cd4df527659a","kind":"commit","published_at":"2018-08-02T15:44:41.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.23","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.23/manifests"},{"name":"hypothesis-python-3.66.22","sha":"fe60c8aae7fd8478ef08acfd9f8f852ec004c1e7","kind":"commit","published_at":"2018-08-01T12:05:01.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.22","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.22/manifests"},{"name":"hypothesis-python-3.66.21","sha":"9c66cda7da8e2f7365effc09e6a3d709655f024c","kind":"commit","published_at":"2018-08-01T11:01:51.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.21","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.21/manifests"},{"name":"hypothesis-python-3.66.20","sha":"6294b382dc08b8ab3e24275e5fdbfcd51d1538bc","kind":"commit","published_at":"2018-08-01T06:16:03.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.20","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.20/manifests"},{"name":"hypothesis-python-3.66.19","sha":"8aef6b0fcebcbdb4c1cdda257da111dd49380a26","kind":"commit","published_at":"2018-07-31T23:52:02.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.19","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.19/manifests"},{"name":"hypothesis-python-3.66.18","sha":"5d88e0c05eb18f9db52afdd06604b67a524bf62f","kind":"commit","published_at":"2018-07-31T20:01:28.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.18","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.18/manifests"},{"name":"hypothesis-python-3.66.17","sha":"28243717b73fb8cd42c6437a1fe1890fce23f460","kind":"commit","published_at":"2018-07-31T15:22:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.17","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.17/manifests"},{"name":"hypothesis-python-3.66.16","sha":"581b679c0a31c218de15bfa8dbea9efdc435a4a1","kind":"commit","published_at":"2018-07-31T11:11:04.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.16","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.16/manifests"},{"name":"hypothesis-python-3.66.15","sha":"f7880d4c453812b422494c2ab0dfe3dcbade7bb1","kind":"commit","published_at":"2018-07-30T23:12:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.15","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.15/manifests"},{"name":"hypothesis-python-3.66.14","sha":"ac55cce7ee9350663ba40efa2d5dbba52ca7e80d","kind":"commit","published_at":"2018-07-30T12:29:06.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.14","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.14/manifests"},{"name":"hypothesis-python-3.66.13","sha":"062c585e09698112b06aa2efe3a15a86f03d1d7f","kind":"commit","published_at":"2018-07-30T02:42:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.13","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.13/manifests"},{"name":"hypothesis-python-3.66.12","sha":"aeabaf2da633def25eb36e1f4aa4d720256dbb4c","kind":"commit","published_at":"2018-07-28T15:11:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.12","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.12/manifests"},{"name":"hypothesis-python-3.66.11","sha":"dfe0152dd8693d284f0b7b3035764205b6ccd365","kind":"commit","published_at":"2018-07-28T12:45:17.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.11","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.11/manifests"},{"name":"hypothesis-python-3.66.10","sha":"a7afea2c076161713aebe381e3f65635aacd4c57","kind":"commit","published_at":"2018-07-28T03:38:52.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.10","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.10/manifests"},{"name":"hypothesis-python-3.66.9","sha":"c88b187e80e68b546c56f4bb23c2df4c9ed615a5","kind":"commit","published_at":"2018-07-26T22:56:14.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.9","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.9/manifests"},{"name":"hypothesis-python-3.66.8","sha":"c1c826432efda6e0b54b087cbbf2997595033027","kind":"commit","published_at":"2018-07-24T17:17:09.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.8","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.8/manifests"},{"name":"hypothesis-python-3.66.7","sha":"3d1b8fbcfdbe81a039c35e6a779c6129ae9d577e","kind":"commit","published_at":"2018-07-24T13:32:44.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.7","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.7/manifests"},{"name":"hypothesis-python-3.66.6","sha":"a1960ce3453f54e7dd6d397f654b34b0db41d76f","kind":"commit","published_at":"2018-07-23T02:11:59.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.6","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.6/manifests"},{"name":"hypothesis-python-3.66.5","sha":"e7316d6711dba0003211b6087581d49ab9419ca6","kind":"commit","published_at":"2018-07-22T11:00:20.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.5","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.5/manifests"},{"name":"hypothesis-python-3.66.4","sha":"795efc03a0b18ded9bc17d933b9dc56ad65f1755","kind":"commit","published_at":"2018-07-20T13:37:18.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.4","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.4/manifests"},{"name":"hypothesis-python-3.66.3","sha":"647f93eb81075cdf562a131cf0f83985397dc562","kind":"commit","published_at":"2018-07-20T11:32:24.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.3/manifests"},{"name":"hypothesis-python-3.66.2","sha":"24e14c30daa9730dbabdb0d4c108d190052a0234","kind":"commit","published_at":"2018-07-19T13:21:45.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.2/manifests"},{"name":"hypothesis-ruby-0.1.0","sha":"91a5bbf18f599156abf8746260a6521b6a73ba61","kind":"commit","published_at":"2018-07-16T18:36:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-ruby-0.1.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-ruby-0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-ruby-0.1.0/manifests"},{"name":"conjecture-rust-0.3.0","sha":"19a6129cfd93f030629d62a688036932fc03d5dd","kind":"commit","published_at":"2018-07-16T18:32:19.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/conjecture-rust-0.3.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/conjecture-rust-0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/conjecture-rust-0.3.0/manifests"},{"name":"hypothesis-python-3.66.1","sha":"d160265680732c074444feba3c9620a6e416cf81","kind":"commit","published_at":"2018-07-08T23:06:33.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.1/manifests"},{"name":"hypothesis-python-3.66.0","sha":"01864efb809b1d4e9093bcc3a498ac4b30921047","kind":"commit","published_at":"2018-07-05T14:46:13.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.66.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.66.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.66.0/manifests"},{"name":"hypothesis-python-3.65.3","sha":"e9711aff55e0ca66509676f91d6970ae2887a37e","kind":"commit","published_at":"2018-07-04T13:18:07.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.65.3","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.65.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.3/manifests"},{"name":"hypothesis-python-3.65.2","sha":"977d4eee9102df87283b0ff92de988f0a63d763a","kind":"commit","published_at":"2018-07-04T09:49:49.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.65.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.65.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.2/manifests"},{"name":"hypothesis-python-3.65.1","sha":"e22c92562aeca0f18c7d6070a899fd4c8b1ae1c5","kind":"commit","published_at":"2018-07-03T12:41:43.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.65.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.65.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.1/manifests"},{"name":"hypothesis-python-3.65.0","sha":"238c6c96cdf1cdfb590f07e070b7fd18b06c9640","kind":"commit","published_at":"2018-06-30T12:49:37.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.65.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.65.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.65.0/manifests"},{"name":"hypothesis-python-3.64.2","sha":"9d4ca698897b4d275950fb47a06a8e022878211b","kind":"commit","published_at":"2018-06-27T11:59:31.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.64.2","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.64.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.64.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.64.2/manifests"},{"name":"hypothesis-python-3.64.1","sha":"4c582325de87c1b208c64cc2f625ea9facbf3c82","kind":"commit","published_at":"2018-06-27T10:43:27.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.64.1","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.64.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.64.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.64.1/manifests"},{"name":"hypothesis-python-3.64.0","sha":"1bd5d24433e2070a6d9e742cb5b7c7e07b4f3b37","kind":"commit","published_at":"2018-06-26T11:07:30.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.64.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.64.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.64.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.64.0/manifests"},{"name":"hypothesis-python-3.63.0","sha":"9e57bf2d0fbab334db365e7d811580a2cd840e83","kind":"commit","published_at":"2018-06-26T05:28:36.000Z","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/hypothesis-python-3.63.0","html_url":"https://github.com/HypothesisWorks/hypothesis/releases/tag/hypothesis-python-3.63.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.63.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags/hypothesis-python-3.63.0/manifests"}]},"repo_metadata_updated_at":"2025-01-14T12:50:46.217Z","dependent_packages_count":823,"downloads":12165311,"downloads_period":"last-month","dependent_repos_count":7745,"rankings":{"downloads":0.11303893234432488,"dependent_repos_count":0.10657677376316667,"dependent_packages_count":0.03276248971238087,"stargazers_count":0.3319669138326784,"forks_count":2.1061832014379265,"docker_downloads_count":0.5644621721530679,"average":0.5424984138739242},"purl":"pkg:pypi/hypothesis","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/hypothesis","docker_dependents_count":718,"docker_downloads_count":19768038,"usage_url":"https://repos.ecosyste.ms/usage/pypi/hypothesis","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/hypothesis/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/hypothesis/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/hypothesis/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/hypothesis/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/hypothesis/related_packages","maintainers":[{"uuid":"DRMacIver","login":"DRMacIver","name":null,"email":null,"url":null,"packages_count":15,"html_url":"https://pypi.org/user/DRMacIver/","role":null,"created_at":"2022-11-19T23:36:42.588Z","updated_at":"2022-11-19T23:36:42.588Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/DRMacIver/packages"},{"uuid":"Zac-HD","login":"Zac-HD","name":null,"email":null,"url":null,"packages_count":14,"html_url":"https://pypi.org/user/Zac-HD/","role":null,"created_at":"2022-11-19T23:36:42.596Z","updated_at":"2022-11-19T23:36:42.596Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Zac-HD/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690055,"maintainers_count":292646,"namespaces_count":0,"keywords_count":228482,"github":"pypi","metadata":{"funded_packages_count":48953},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-05T05:19:27.498Z","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":725,"unique_repositories_count_past_30_days":87,"recent_issues":[{"uuid":"5953040926","node_id":"PR_kwDORqrzA88AAAABJsO8ng","number":728,"state":"open","title":"chore(deps-dev): bump hypothesis from 6.169.0 to 6.170.1","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-10-21T02:14:32.000Z","updated_at":"2026-10-21T02:14:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"hypothesis","old_version":"6.169.0","new_version":"6.170.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.169.0 to 6.170.1.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/718686d1e392968eb0953c043ef249c5d9d11a59\"\u003e\u003ccode\u003e718686d\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.170.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ba6c3e39cf741c226412194acc21ab719a35f6e7\"\u003e\u003ccode\u003eba6c3e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4834\"\u003e#4834\u003c/a\u003e from Zac-HD/claude/hypothesis-4458-prototypes-nqza1f\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7572cd07bbb9d845c40f71c95ba3853fb7467403\"\u003e\u003ccode\u003e7572cd0\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.170.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1ad039f4ead3a91721bb8adde8da6c46979d549c\"\u003e\u003ccode\u003e1ad039f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4871\"\u003e#4871\u003c/a\u003e from Zac-HD/claude/hypothesis-conformance-tests-c6877l\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a03eb1bd2a501677515e494c6d7824a6ce9db390\"\u003e\u003ccode\u003ea03eb1b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4895\"\u003e#4895\u003c/a\u003e from TaiSakuma/add-hypothesis-awkward\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7219a20cac605838a9bd7d74e9f43113f0078594\"\u003e\u003ccode\u003e7219a20\u003c/code\u003e\u003c/a\u003e Strengthen provider conformance tests and fix BytestringProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e7c0eb9cc13f75ed6799396064f16a55edd3a398\"\u003e\u003ccode\u003ee7c0eb9\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c3705d257fdde89324cdaca53390011cc116324a\"\u003e\u003ccode\u003ec3705d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4898\"\u003e#4898\u003c/a\u003e from Arjun-Aravind/fix/unresolved-lazy-annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6ec54d574182ae21b842bf480e59ce894fcb400e\"\u003e\u003ccode\u003e6ec54d5\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/37c64201b5b708828bda91b0a5ec418efadcaf2f\"\u003e\u003ccode\u003e37c6420\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4903\"\u003e#4903\u003c/a\u003e from MarcoGorelli/random-seed-signature\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.169.0...v6.170.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=hypothesis\u0026package-manager=uv\u0026previous-version=6.169.0\u0026new-version=6.170.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/tuanductran/soulmap-ai/pull/728","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanductran%2Fsoulmap-ai/issues/728","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/728/packages"},{"uuid":"5900529028","node_id":"PR_kwDOR9i09M8AAAABJCwuGQ","number":621,"state":"open","title":"chore(deps): bump the patch-and-minor group across 1 directory with 185 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-17T16:23:59.000Z","updated_at":"2026-10-17T16:24:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"patch-and-minor","update_count":185,"packages":[{"name":"fastapi","old_version":"0.135.3","new_version":"0.143.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic","old_version":"2.11.10","new_version":"2.14.1","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.15.0","new_version":"2.16.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"sqlalchemy","old_version":"2.0.48","new_version":"2.1.4","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.18.4","new_version":"1.20.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"asyncpg","old_version":"0.30.0","new_version":"0.32.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.13","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"gitpython","old_version":"3.1.50","new_version":"3.2.1","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"pyjwt","old_version":"2.12.0","new_version":"2.15.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"authlib","old_version":"1.6.11","new_version":"1.9.1","repository_url":"https://github.com/authlib/authlib"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.26.0","repository_url":"https://github.com/prometheus/client_python"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-distro","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-common","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-http","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-httpx","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-redis","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-sqlalchemy","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-celery","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-proto","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"langgraph","old_version":"1.2.13","new_version":"1.2.15","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-checkpoint","old_version":"4.0.1","new_version":"4.3.0","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-sdk","old_version":"0.3.13","new_version":"0.4.7","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langchain-community","old_version":"0.3.5","new_version":"0.4.2","repository_url":"https://github.com/langchain-ai/langchain-community"},{"name":"langserve","old_version":"0.2.1","new_version":"0.3.3","repository_url":"https://github.com/langchain-ai/langserve"},{"name":"celery","old_version":"5.6.2","new_version":"5.6.3","repository_url":"https://github.com/celery/celery"},{"name":"billiard","old_version":"4.2.4","new_version":"4.3.1","repository_url":"https://github.com/celery/billiard"},{"name":"chromadb","old_version":"1.0.15","new_version":"1.5.9","repository_url":"https://github.com/chroma-core/chroma"},{"name":"eth-account","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/ApeWorX/eth-account"},{"name":"eth-keys","old_version":"0.7.1","new_version":"0.8.0","repository_url":"https://github.com/ApeWorX/eth-keys"},{"name":"aiohttp","old_version":"3.13.4","new_version":"3.14.5","repository_url":"https://github.com/aio-libs/aiohttp"},{"name":"requests","old_version":"2.33.0","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"python-socketio","old_version":"5.15.0","new_version":"5.17.0","repository_url":"https://github.com/sponsors/miguelgrinberg"},{"name":"python-engineio","old_version":"4.12.2","new_version":"4.14.0","repository_url":"https://github.com/miguelgrinberg/python-engineio"},{"name":"python-multipart","old_version":"0.0.26","new_version":"0.0.32","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"discord-py","old_version":"2.5.2","new_version":"2.7.1","repository_url":"https://github.com/Rapptz/discord.py"},{"name":"py-cord","old_version":"2.6.1","new_version":"2.8.1","repository_url":"https://github.com/Pycord-Development/pycord"},{"name":"docker","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/docker/docker-py"},{"name":"click","old_version":"8.2.1","new_version":"8.5.0","repository_url":"https://github.com/pallets/click"},{"name":"typer","old_version":"0.16.0","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"python-dotenv","old_version":"1.2.2","new_version":"1.2.4","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"apscheduler","old_version":"3.11.2","new_version":"3.11.3","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"tenacity","old_version":"9.1.4","new_version":"9.2.1","repository_url":"https://github.com/jd/tenacity"},{"name":"slowapi","old_version":"0.1.9","new_version":"0.1.10","repository_url":"https://github.com/laurents/slowapi"},{"name":"colorlog","old_version":"6.9.0","new_version":"6.12.0","repository_url":"https://github.com/borntyping/python-colorlog"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.15.0"},{"name":"lxml","old_version":"6.1.0","new_version":"6.1.3","repository_url":"https://github.com/lxml/lxml"},{"name":"feedparser","old_version":"6.0.11","new_version":"6.0.14","repository_url":"https://github.com/kurtmckee/feedparser"},{"name":"numpy","old_version":"2.3.2","new_version":"2.5.4","repository_url":"https://github.com/numpy/numpy"},{"name":"matplotlib","old_version":"3.10.5","new_version":"3.11.2","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"scipy","old_version":"1.16.1","new_version":"1.18.1","repository_url":"https://github.com/scipy/scipy"},{"name":"scikit-learn","old_version":"1.7.1","new_version":"1.9.1","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"strawberry-graphql","old_version":"0.312.3","new_version":"0.335.0","repository_url":"https://github.com/sponsors/strawberry-graphql"},{"name":"graphql-core","old_version":"3.2.8","new_version":"3.3.0","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"qiskit","old_version":"2.3.1","new_version":"2.5.2","repository_url":"https://github.com/Qiskit/qiskit"},{"name":"networkx","old_version":"3.5","new_version":"3.7","repository_url":"https://github.com/networkx/networkx"},{"name":"onnxruntime","old_version":"1.22.1","new_version":"1.31.0","repository_url":"https://github.com/microsoft/onnxruntime"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"durationpy","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/icholy/durationpy"},{"name":"levenshtein","old_version":"0.27.3","new_version":"0.27.5","repository_url":"https://github.com/rapidfuzz/Levenshtein"},{"name":"rapidfuzz","old_version":"3.14.3","new_version":"3.14.6","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"pytest","old_version":"9.0.2","new_version":"9.1.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.3.0","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"hypothesis","old_version":"6.131.0","new_version":"6.169.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"black","old_version":"26.3.1","new_version":"26.10.1","repository_url":"https://github.com/psf/black"},{"name":"ruff","old_version":"0.9.0","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"flake8","old_version":"7.3.0","new_version":"7.4.1","repository_url":"https://github.com/pycqa/flake8"},{"name":"pylint","old_version":"4.0.5","new_version":"4.1.3","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.4","repository_url":"https://github.com/PyCQA/bandit"},{"name":"semgrep","old_version":"1.92.0","new_version":"1.180.0","repository_url":"https://github.com/semgrep/semgrep"},{"name":"pip-audit","old_version":"2.8.0","new_version":"2.10.1","repository_url":"https://github.com/pypa/pip-audit"},{"name":"autogen","old_version":"0.5.0","new_version":"0.14.1","repository_url":"https://github.com/ag2ai/ag2classic"},{"name":"fakeredis","old_version":"2.33.0","new_version":"2.40.0","repository_url":"https://github.com/cunla/fakeredis-py"},{"name":"safety","old_version":"3.2.0","new_version":"3.8.1","repository_url":"https://github.com/pyupio/safety"},{"name":"accelerate","old_version":"1.10.0","new_version":"1.15.0","repository_url":"https://github.com/huggingface/accelerate"},{"name":"bitsandbytes","old_version":"0.46.1","new_version":"0.50.2","repository_url":"https://github.com/bitsandbytes-foundation/bitsandbytes"},{"name":"langchain-text-splitters","old_version":"1.1.1","new_version":"1.1.3","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langsmith","old_version":"0.7.16","new_version":"0.14.8","repository_url":"https://github.com/langchain-ai/langsmith-python"},{"name":"nltk","old_version":"3.9.1","new_version":"3.10.3","repository_url":"https://github.com/nltk/nltk"},{"name":"safetensors","old_version":"0.5.3","new_version":"0.8.0","repository_url":"https://github.com/huggingface/safetensors"},{"name":"streamlit","old_version":"1.54.0","new_version":"1.65.0","repository_url":"https://github.com/streamlit/streamlit"},{"name":"tokenizers","old_version":"0.21.4","new_version":"0.23.3","repository_url":"https://github.com/huggingface/tokenizers"},{"name":"torch","old_version":"2.8.0","new_version":"2.14.1","repository_url":"https://github.com/pytorch/pytorch"},{"name":"aiohappyeyeballs","old_version":"2.6.1","new_version":"2.7.1","repository_url":"https://github.com/aio-libs/aiohappyeyeballs"},{"name":"amqp","old_version":"5.3.1","new_version":"5.4.1","repository_url":"https://github.com/celery/py-amqp"},{"name":"annotated-doc","old_version":"0.0.4","new_version":"0.0.5","repository_url":"https://github.com/fastapi/annotated-doc"},{"name":"annotated-types","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/annotated-types/annotated-types"},{"name":"anyio","old_version":"4.14.2","new_version":"4.15.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"arq","old_version":"0.27.0","new_version":"0.28.0","repository_url":"https://github.com/python-arq/arq"},{"name":"asgiref","old_version":"3.11.1","new_version":"3.12.1","repository_url":"https://github.com/django/asgiref"},{"name":"astroid","old_version":"4.0.4","new_version":"4.3.4","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"bidict","old_version":"0.23.1","new_version":"0.24.1","repository_url":"https://github.com/jab/bidict"},{"name":"boto3","old_version":"1.42.64","new_version":"1.43.113","repository_url":"https://github.com/boto/boto3"},{"name":"build","old_version":"1.3.0","new_version":"1.6.1","repository_url":"https://github.com/pypa/build"},{"name":"cffi","old_version":"2.0.0","new_version":"2.1.1","repository_url":"https://github.com/python-cffi/cffi"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.5.2","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click-repl","old_version":"0.3.0","new_version":"0.4.1","repository_url":"https://github.com/click-contrib/click-repl"},{"name":"contourpy","old_version":"1.3.3","new_version":"1.4.0","repository_url":"https://github.com/contourpy/contourpy"},{"name":"coverage","old_version":"7.13.4","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"decorator","old_version":"5.2.1","new_version":"5.3.1","repository_url":"https://github.com/micheles/decorator"},{"name":"dnspython","old_version":"2.8.0","new_version":"2.9.0","repository_url":"https://github.com/rthalley/dnspython"},{"name":"docstring-parser","old_version":"0.17.0","new_version":"0.18.0","repository_url":"https://github.com/rr-/docstring_parser"},{"name":"fabric","old_version":"3.2.2","new_version":"3.2.3","repository_url":"https://github.com/fabric/fabric"},{"name":"flask-cors","old_version":"6.0.1","new_version":"6.0.5","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"flask-socketio","old_version":"5.5.1","new_version":"5.7.0"},{"name":"flatbuffers","old_version":"25.2.10","new_version":"25.12.19","repository_url":"https://github.com/google/flatbuffers"},{"name":"fonttools","old_version":"4.60.2","new_version":"4.67.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"frozenlist","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/aio-libs/frozenlist"},{"name":"fsspec","old_version":"2026.6.0","new_version":"2026.9.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geographiclib","old_version":"2.0","new_version":"2.1","repository_url":"https://github.com/geographiclib/geographiclib-python"},{"name":"google-auth","old_version":"2.40.3","new_version":"2.62.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"googleapis-common-protos","old_version":"1.70.0","new_version":"1.75.5","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"greenlet","old_version":"3.3.2","new_version":"3.5.6","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"grpcio","old_version":"1.74.0","new_version":"1.84.0","repository_url":"https://github.com/grpc/grpc"},{"name":"hiredis","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/redis/hiredis-py"},{"name":"httptools","old_version":"0.6.4","new_version":"0.9.0","repository_url":"https://github.com/MagicStack/httptools"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.2","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"jiter","old_version":"0.10.0","new_version":"0.17.0","repository_url":"https://github.com/pydantic/jiter"},{"name":"joblib","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/joblib/joblib"},{"name":"jsonpatch","old_version":"1.33","new_version":"1.35","repository_url":"https://github.com/stefankoegl/python-json-patch"},{"name":"jsonpointer","old_version":"3.0.0","new_version":"3.2.1","repository_url":"https://github.com/stefankoegl/python-json-pointer"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"jsonschema-specifications","old_version":"2025.4.1","new_version":"2025.9.1","repository_url":"https://github.com/python-jsonschema/jsonschema-specifications"},{"name":"kiwisolver","old_version":"1.4.8","new_version":"1.5.1","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mako","old_version":"1.3.12","new_version":"1.4.3","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.4","repository_url":"https://github.com/pallets/markupsafe"},{"name":"mmh3","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/hajimes/mmh3"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msgpack","old_version":"1.2.1","new_version":"1.2.3","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"narwhals","old_version":"2.0.1","new_version":"2.27.1","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"orjson","old_version":"3.11.7","new_version":"3.13.0","repository_url":"https://github.com/ijl/orjson"},{"name":"pathspec","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"ping3","old_version":"5.1.5","new_version":"5.1.6","repository_url":"https://github.com/kyan001/ping3"},{"name":"pip-api","old_version":"0.0.34","new_version":"0.0.35","repository_url":"https://github.com/di/pip-api"},{"name":"pip-tools","old_version":"7.5.3","new_version":"7.6.2","repository_url":"https://github.com/jazzband/pip-tools"},{"name":"platformdirs","old_version":"4.9.4","new_version":"4.13.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"prompt-toolkit","old_version":"3.0.52","new_version":"3.0.53","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"propcache","old_version":"0.3.2","new_version":"0.5.4","repository_url":"https://github.com/aio-libs/propcache"},{"name":"pybase64","old_version":"1.4.2","new_version":"1.5.1","repository_url":"https://github.com/mayeut/pybase64"},{"name":"pycodestyle","old_version":"2.14.0","new_version":"2.15.0","repository_url":"https://github.com/PyCQA/pycodestyle"},{"name":"pydeck","old_version":"0.9.1","new_version":"0.9.3","repository_url":"https://github.com/visgl/deck.gl"},{"name":"pygithub","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/pygithub/pygithub"},{"name":"pygments","old_version":"2.20.0","new_version":"2.21.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.3.3","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pypika","old_version":"0.48.9","new_version":"0.51.1","repository_url":"https://github.com/kayak/pypika"},{"name":"pyproject-hooks","old_version":"1.2.0","new_version":"1.3.3","repository_url":"https://github.com/pypa/pyproject-hooks"},{"name":"pyreadline3","old_version":"3.5.4","new_version":"3.5.6","repository_url":"https://github.com/pyreadline3/pyreadline3"},{"name":"python-levenshtein","old_version":"0.27.3","new_version":"0.27.5","repository_url":"https://github.com/rapidfuzz/python-Levenshtein"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"ruamel-yaml","old_version":"0.18.14","new_version":"0.19.1"},{"name":"ruamel-yaml-clib","old_version":"0.2.12","new_version":"0.2.15"},{"name":"rustworkx","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/Qiskit/rustworkx"},{"name":"s3transfer","old_version":"0.16.0","new_version":"0.19.2","repository_url":"https://github.com/boto/s3transfer"},{"name":"safehttpx","old_version":"0.1.6","new_version":"0.2.0","repository_url":"https://github.com/gradio-app/safehttpx"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"starlette","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"stevedore","old_version":"5.4.1","new_version":"5.9.1"},{"name":"threadpoolctl","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tomlkit","old_version":"0.13.3","new_version":"0.15.1","repository_url":"https://github.com/python-poetry/tomlkit"},{"name":"tornado","old_version":"6.5.9","new_version":"6.5.10","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.70.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"types-requests","old_version":"2.32.4.20260107","new_version":"2.33.0.20261006","repository_url":"https://github.com/python/typeshed"},{"name":"typing-inspection","old_version":"0.4.2","new_version":"0.4.4","repository_url":"https://github.com/pydantic/typing-inspection"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.16.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzlocal","old_version":"5.3.1","new_version":"5.4.4","repository_url":"https://github.com/regebro/tzlocal"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.3.0","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"wcwidth","old_version":"0.5.3","new_version":"0.9.2","repository_url":"https://github.com/jquast/wcwidth"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.2","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"wheel","old_version":"0.46.2","new_version":"0.48.0","repository_url":"https://github.com/pypa/wheel"},{"name":"wsproto","old_version":"1.2.0","new_version":"1.3.2","repository_url":"https://github.com/python-hyper/wsproto"},{"name":"yarl","old_version":"1.20.1","new_version":"1.25.1","repository_url":"https://github.com/aio-libs/yarl"},{"name":"truststore","old_version":"0.10.4","new_version":"0.10.5","repository_url":"https://github.com/sethmlarson/truststore"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch-and-minor group with 185 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.3` | `0.143.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.54.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.10` | `2.14.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.15.0` | `2.16.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.48` | `2.1.4` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.18.4` | `1.20.0` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.30.0` | `0.32.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.13` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.50` | `3.2.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.0` | `2.15.1` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.11` | `1.9.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.26.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-exporter-otlp](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-httpx](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-redis](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-sqlalchemy](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-celery](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.66b1` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.13` | `1.2.15` |\n| [langgraph-checkpoint](https://github.com/langchain-ai/langgraph) | `4.0.1` | `4.3.0` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.3.13` | `0.4.7` |\n| [langchain-community](https://github.com/langchain-ai/langchain-community) | `0.3.5` | `0.4.2` |\n| [langserve](https://github.com/langchain-ai/langserve) | `0.2.1` | `0.3.3` |\n| [celery](https://github.com/celery/celery) | `5.6.2` | `5.6.3` |\n| [billiard](https://github.com/celery/billiard) | `4.2.4` | `4.3.1` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.0.15` | `1.5.9` |\n| [eth-account](https://github.com/ApeWorX/eth-account) | `0.13.0` | `0.14.0` |\n| [eth-keys](https://github.com/ApeWorX/eth-keys) | `0.7.1` | `0.8.0` |\n| [aiohttp](https://github.com/aio-libs/aiohttp) | `3.13.4` | `3.14.5` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.34.2` |\n| [python-socketio](https://github.com/sponsors/miguelgrinberg) | `5.15.0` | `5.17.0` |\n| [python-engineio](https://github.com/miguelgrinberg/python-engineio) | `4.12.2` | `4.14.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.26` | `0.0.32` |\n| [discord-py](https://github.com/Rapptz/discord.py) | `2.5.2` | `2.7.1` |\n| [py-cord](https://github.com/Pycord-Development/pycord) | `2.6.1` | `2.8.1` |\n| [docker](https://github.com/docker/docker-py) | `7.1.0` | `7.2.0` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.5.0` |\n| [typer](https://github.com/fastapi/typer) | `0.16.0` | `0.27.3` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.2` | `1.2.4` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.11.2` | `3.11.3` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.4` | `9.2.1` |\n| [slowapi](https://github.com/laurents/slowapi) | `0.1.9` | `0.1.10` |\n| [colorlog](https://github.com/borntyping/python-colorlog) | `6.9.0` | `6.12.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.15.0` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.0` | `6.1.3` |\n| [feedparser](https://github.com/kurtmckee/feedparser) | `6.0.11` | `6.0.14` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.5.4` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.5` | `3.11.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.1` | `1.18.1` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.7.1` | `1.9.1` |\n| [strawberry-graphql](https://github.com/sponsors/strawberry-graphql) | `0.312.3` | `0.335.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.8` | `3.3.0` |\n| [qiskit](https://github.com/Qiskit/qiskit) | `2.3.1` | `2.5.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.5` | `3.7` |\n| [onnxruntime](https://github.com/microsoft/onnxruntime) | `1.22.1` | `1.31.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [durationpy](https://github.com/icholy/durationpy) | `0.10` | `0.11` |\n| [levenshtein](https://github.com/rapidfuzz/Levenshtein) | `0.27.3` | `0.27.5` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.14.3` | `3.14.6` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.1.1` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.3.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.131.0` | `6.169.1` |\n| [black](https://github.com/psf/black) | `26.3.1` | `26.10.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.9.0` | `0.17.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.3.0` | `7.4.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.5` | `4.1.3` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.4` |\n| [semgrep](https://github.com/semgrep/semgrep) | `1.92.0` | `1.180.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.8.0` | `2.10.1` |\n| [autogen](https://github.com/ag2ai/ag2classic) | `0.5.0` | `0.14.1` |\n| [fakeredis](https://github.com/cunla/fakeredis-py) | `2.33.0` | `2.40.0` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.8.1` |\n| [accelerate](https://github.com/huggingface/accelerate) | `1.10.0` | `1.15.0` |\n| [bitsandbytes](https://github.com/bitsandbytes-foundation/bitsandbytes) | `0.46.1` | `0.50.2` |\n| [langchain-text-splitters](https://github.com/langchain-ai/langchain) | `1.1.1` | `1.1.3` |\n| [langsmith](https://github.com/langchain-ai/langsmith-python) | `0.7.16` | `0.14.8` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.10.3` |\n| [safetensors](https://github.com/huggingface/safetensors) | `0.5.3` | `0.8.0` |\n| [streamlit](https://github.com/streamlit/streamlit) | `1.54.0` | `1.65.0` |\n| [tokenizers](https://github.com/huggingface/tokenizers) | `0.21.4` | `0.23.3` |\n| [torch](https://github.com/pytorch/pytorch) | `2.8.0` | `2.14.1` |\n| [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs) | `2.6.1` | `2.7.1` |\n| [amqp](https://github.com/celery/py-amqp) | `5.3.1` | `5.4.1` |\n| [annotated-doc](https://github.com/fastapi/annotated-doc) | `0.0.4` | `0.0.5` |\n| [annotated-types](https://github.com/annotated-types/annotated-types) | `0.7.0` | `0.8.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.14.2` | `4.15.1` |\n| [arq](https://github.com/python-arq/arq) | `0.27.0` | `0.28.0` |\n| [asgiref](https://github.com/django/asgiref) | `3.11.1` | `3.12.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.4` | `4.3.4` |\n| [bidict](https://github.com/jab/bidict) | `0.23.1` | `0.24.1` |\n| [boto3](https://github.com/boto/boto3) | `1.42.64` | `1.43.113` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.6.1` |\n| [cffi](https://github.com/python-cffi/cffi) | `2.0.0` | `2.1.1` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.5.2` |\n| [click-repl](https://github.com/click-contrib/click-repl) | `0.3.0` | `0.4.1` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.3` | `1.4.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.16.2` |\n| [decorator](https://github.com/micheles/decorator) | `5.2.1` | `5.3.1` |\n| [dnspython](https://github.com/rthalley/dnspython) | `2.8.0` | `2.9.0` |\n| [docstring-parser](https://github.com/rr-/docstring_parser) | `0.17.0` | `0.18.0` |\n| [fabric](https://github.com/fabric/fabric) | `3.2.2` | `3.2.3` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.1` | `6.0.5` |\n| [flask-socketio](https://code.miguelgrinberg.com/miguelgrinberg/flask-socketio) | `5.5.1` | `5.7.0` |\n| [flatbuffers](https://github.com/google/flatbuffers) | `25.2.10` | `25.12.19` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.2` | `4.67.0` |\n| [frozenlist](https://github.com/aio-libs/frozenlist) | `1.7.0` | `1.8.0` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.6.0` | `2026.9.0` |\n| [geographiclib](https://github.com/geographiclib/geographiclib-python) | `2.0` | `2.1` |\n| [google-auth](https://github.com/googleapis/google-cloud-python) | `2.40.3` | `2.62.0` |\n| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python) | `1.70.0` | `1.75.5` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.2` | `3.5.6` |\n| [grpcio](https://github.com/grpc/grpc) | `1.74.0` | `1.84.0` |\n| [hiredis](https://github.com/redis/hiredis-py) | `3.3.0` | `3.4.2` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.4` | `0.9.0` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.1` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.2` |\n| [jiter](https://github.com/pydantic/jiter) | `0.10.0` | `0.17.0` |\n| [joblib](https://github.com/joblib/joblib) | `1.5.1` | `1.6.0` |\n| [jsonpatch](https://github.com/stefankoegl/python-json-patch) | `1.33` | `1.35` |\n| [jsonpointer](https://github.com/stefankoegl/python-json-pointer) | `3.0.0` | `3.2.1` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.26.0` |\n| [jsonschema-specifications](https://github.com/python-jsonschema/jsonschema-specifications) | `2025.4.1` | `2025.9.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.8` | `1.5.1` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.12` | `1.4.3` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.4` |\n| [mmh3](https://github.com/hajimes/mmh3) | `5.2.0` | `5.3.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.2.1` | `1.2.3` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.0.1` | `2.27.1` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.10.0` | `1.11.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.13.0` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `1.1.0` | `1.1.1` |\n| [ping3](https://github.com/kyan001/ping3) | `5.1.5` | `5.1.6` |\n| [pip-api](https://github.com/di/pip-api) | `0.0.34` | `0.0.35` |\n| [pip-tools](https://github.com/jazzband/pip-tools) | `7.5.3` | `7.6.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.4` | `4.13.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.52` | `3.0.53` |\n| [propcache](https://github.com/aio-libs/propcache) | `0.3.2` | `0.5.4` |\n| [pybase64](https://github.com/mayeut/pybase64) | `1.4.2` | `1.5.1` |\n| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.14.0` | `2.15.0` |\n| [pydeck](https://github.com/visgl/deck.gl) | `0.9.1` | `0.9.3` |\n| [pygithub](https://github.com/pygithub/pygithub) | `2.9.0` | `2.10.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.20.0` | `2.21.0` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.3.3` |\n| [pypika](https://github.com/kayak/pypika) | `0.48.9` | `0.51.1` |\n| [pyproject-hooks](https://github.com/pypa/pyproject-hooks) | `1.2.0` | `1.3.3` |\n| [pyreadline3](https://github.com/pyreadline3/pyreadline3) | `3.5.4` | `3.5.6` |\n| [python-levenshtein](https://github.com/rapidfuzz/python-Levenshtein) | `0.27.3` | `0.27.5` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| ruamel-yaml | `0.18.14` | `0.19.1` |\n| ruamel-yaml-clib | `0.2.12` | `0.2.15` |\n| [rustworkx](https://github.com/Qiskit/rustworkx) | `0.17.1` | `0.18.1` |\n| [s3transfer](https://github.com/boto/s3transfer) | `0.16.0` | `0.19.2` |\n| [safehttpx](https://github.com/gradio-app/safehttpx) | `0.1.6` | `0.2.0` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [starlette](https://github.com/Kludex/starlette) | `1.7.0` | `1.8.0` |\n| [stevedore](https://docs.openstack.org/stevedore) | `5.4.1` | `5.9.1` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.6.0` | `3.7.0` |\n| [tomlkit](https://github.com/python-poetry/tomlkit) | `0.13.3` | `0.15.1` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.9` | `6.5.10` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.70.1` |\n| [types-requests](https://github.com/python/typeshed) | `2.32.4.20260107` | `2.33.0.20261006` |\n| [typing-inspection](https://github.com/pydantic/typing-inspection) | `0.4.2` | `0.4.4` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.16.0` |\n| [tzlocal](https://github.com/regebro/tzlocal) | `5.3.1` | `5.4.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.3.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.5.3` | `0.9.2` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.2` |\n| [wheel](https://github.com/pypa/wheel) | `0.46.2` | `0.48.0` |\n| [wsproto](https://github.com/python-hyper/wsproto) | `1.2.0` | `1.3.2` |\n| [yarl](https://github.com/aio-libs/yarl) | `1.20.1` | `1.25.1` |\n| [truststore](https://github.com/sethmlarson/truststore) | `0.10.4` | `0.10.5` |\n\n\nUpdates `fastapi` from 0.135.3 to 0.143.1\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.143.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix included route metadata in \u003ccode\u003eiter_route_contexts()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16484\"\u003e#16484\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.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\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\u003c!-- 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/4dda4625bdc19ce5ae946c152298f70d4d4fc5ed\"\u003e\u003ccode\u003e4dda462\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.1 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16485\"\u003e#16485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/bf18b23bc75ba25dba7310752a97c1612dcd298e\"\u003e\u003ccode\u003ebf18b23\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5e6a1eec1fbc0acbe0a813e981cfd69539051b52\"\u003e\u003ccode\u003e5e6a1ee\u003c/code\u003e\u003c/a\u003e 🐛 Fix included route metadata in \u003ccode\u003eiter_route_contexts()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16484\"\u003e#16484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.135.3...0.143.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.53.0\u003c/h2\u003e\n\u003ch2\u003e🌐 Opt-in HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.53.0 adds experimental HTTP/2 through \u003ccode\u003ezttp\u003c/code\u003e, alongside a new \u003ccode\u003ezuvloop\u003c/code\u003e integration and connection-handling improvements.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eServe HTTP/1.1 and HTTP/2 with \u003ccode\u003ezttp\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e). Install \u003ccode\u003ezttp\u003c/code\u003e, then enable HTTP/2 with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Uvicorn negotiates HTTP/2 over TLS with ALPN and supports cleartext prior knowledge.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental.\u003c/strong\u003e Upgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ More event loop choice\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRun Uvicorn with \u003ccode\u003ezuvloop\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e). Install \u003ccode\u003ezuvloop\u003c/code\u003e separately and select it explicitly with \u003ccode\u003e--loop zuvloop\u003c/code\u003e on CPython 3.14 or newer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛡️ More reliable connections and proxies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHonor \u003ccode\u003eConnection: close\u003c/code\u003e token lists\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e). Uvicorn now parses comma-separated tokens case-insensitively across HTTP implementations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrust IPv6 loopback proxies by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e). The default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value now includes \u003ccode\u003e::1\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKeep upgraded WebSockets alive\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e). Uvicorn cancels the HTTP keep-alive timer when the connection becomes a WebSocket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.53.0\"\u003e0.52.4...0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.3\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.53.0 (September 14, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e. Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\nUpgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ezuvloop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle comma-separated, case-insensitive \u003ccode\u003eConnection: close\u003c/code\u003e tokens across HTTP implementations (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrust IPv6 loopback in the default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancel the HTTP keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.4 (August 18, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.3 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3067\"\u003e#3067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.2 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3063\"\u003e#3063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.1 (August 1, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eComplete the closing handshake on server-initiated WebSocket closes in the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e and \u003ccode\u003ewsproto\u003c/code\u003e implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing write flow control to the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e implementation, preventing data truncation on server-initiated closes with large in-flight payloads (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3048\"\u003e#3048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle connection loss while a WebSocket write is waiting on backpressure (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3050\"\u003e#3050\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/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/421708fbc1a704dac8bd4053a7c4c0bf4d3704ee\"\u003e\u003ccode\u003e421708f\u003c/code\u003e\u003c/a\u003e Version 0.53.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3136\"\u003e#3136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f1a1bff7be819f5724d6fdf86dfd448a97c62e23\"\u003e\u003ccode\u003ef1a1bff\u003c/code\u003e\u003c/a\u003e Unset the keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/63971ed952090438896e6eba7d07178b616d97cc\"\u003e\u003ccode\u003e63971ed\u003c/code\u003e\u003c/a\u003e Document HTTP/2 support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3130\"\u003e#3130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7d1a0055aee5e281accc646b559ddd147486bf8a\"\u003e\u003ccode\u003e7d1a005\u003c/code\u003e\u003c/a\u003e Remove race from multiprocess health check test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5ac6265a01ff6dcadb0e4250152c3deaf8a168a9\"\u003e\u003ccode\u003e5ac6265\u003c/code\u003e\u003c/a\u003e Add ::1 to FORWARDED_ALLOW_IPS (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.54.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.11.10 to 2.14.1\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.14.1 2026-10-11\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePerformance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid Python tuple allocation during model fields validation 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/13955\"\u003e#13955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid unnecessary extra dict allocation in model validation 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/13956\"\u003e#13956\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003earguments-v3\u003c/code\u003e schema with variadic keywords 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/13954\"\u003e#13954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e on \u003ccode\u003eForwardRef\u003c/code\u003e on Python 3.10.0 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/13964\"\u003e#13964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eclosed\u003c/code\u003e and \u003ccode\u003eextra_items\u003c/code\u003e via inheritance in \u003ccode\u003eTypedDict\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/13967\"\u003e#13967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnforce the \u003ccode\u003emax_digits\u003c/code\u003e whole-digits limit in the Python \u003ccode\u003eDecimal\u003c/code\u003e validator 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/13972\"\u003e#13972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject out-of-range int inputs for \u003ccode\u003etimedelta\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/13973\"\u003e#13973\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport named tuples in \u003ccode\u003eSequence\u003c/code\u003e validation 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/13978\"\u003e#13978\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.14.0...v2.14.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\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/pydantic/pydantic/commit/b2212c787fb5c73386dc770681ec49cd09da8e73\"\u003e\u003ccode\u003eb2212c7\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/968fb2b6eed196a3f17ca9a3aa4697b518614531\"\u003e\u003ccode\u003e968fb2b\u003c/code\u003e\u003c/a\u003e Fix docs conversion table\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/6adc8b3f6146cabf290bdefd51c87486dd659091\"\u003e\u003ccode\u003e6adc8b3\u003c/code\u003e\u003c/a\u003e Support named tuples in \u003ccode\u003eSequence\u003c/code\u003e validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7637fbc31c91f86870c3b34d220d5b7fd62c54db\"\u003e\u003ccode\u003e7637fbc\u003c/code\u003e\u003c/a\u003e Reject out-of-range int inputs for \u003ccode\u003etimedelta\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dfdbfcb5fa6cf0ae291cb8aebc5bf2153670fe9c\"\u003e\u003ccode\u003edfdbfcb\u003c/code\u003e\u003c/a\u003e Enforce the \u003ccode\u003emax_digits\u003c/code\u003e whole-digits limit in the Python \u003ccode\u003eDecimal\u003c/code\u003e validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e2456d3161d0969b917fc769b2e06b7e076cb886\"\u003e\u003ccode\u003ee2456d3\u003c/code\u003e\u003c/a\u003e Support \u003ccode\u003eclosed\u003c/code\u003e and \u003ccode\u003eextra_items\u003c/code\u003e via inheritance in \u003ccode\u003eTypedDict\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/317655dfe022ebfc818c8e8e744b671fe53d8c3f\"\u003e\u003ccode\u003e317655d\u003c/code\u003e\u003c/a\u003e Harden CI security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3ba1dd48939542a04748a9bcfd3248496fa0bcc5\"\u003e\u003ccode\u003e3ba1dd4\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eTypeError\u003c/code\u003e on \u003ccode\u003eForwardRef\u003c/code\u003e on Python 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/43681abc488119808fcdae2f60cadd5520ceed26\"\u003e\u003ccode\u003e43681ab\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003esamuelcolvin/check-python-version\u003c/code\u003e action to v5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d6bc53a8559d93814009eb2043db133a90f7f921\"\u003e\u003ccode\u003ed6bc53a\u003c/code\u003e\u003c/a\u003e Avoid unnecessary extra dict allocation in model validation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.10...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.15.0 to 2.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.16.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003eBreaking changes and behavior changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.10 is no longer supported\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1003\"\u003e#1003\u003c/a\u003e). pydantic-settings now requires Python 3.11+, since 3.10 reaches end of life this month. The \u003ccode\u003etomli\u003c/code\u003e fallback is gone in favor of stdlib \u003ccode\u003etomllib\u003c/code\u003e; the \u003ccode\u003etoml\u003c/code\u003e extra is kept as an empty extra so \u003ccode\u003epip install pydantic-settings[toml]\u003c/code\u003e keeps working.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epython-dotenv\u0026gt;=1.2.2\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/971\"\u003e#971\u003c/a\u003e) to pick up the fix for CVE-2026-28684.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAliases are ignored in every source when \u003ccode\u003evalidate_by_alias=False\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1033\"\u003e#1033\u003c/a\u003e). Env vars, secrets, CLI flags and defaults now use only field names, matching pydantic. An env var named after the alias is now ignored instead of raising \u003ccode\u003eextra_forbidden\u003c/code\u003e, and the CLI exposes \u003ccode\u003e--apple\u003c/code\u003e rather than \u003ccode\u003e--pomo\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003evalidation_alias\u003c/code\u003e takes precedence over \u003ccode\u003ealias\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1038\"\u003e#1038\u003c/a\u003e). When the two differ, values from JSON/YAML/TOML files and the CLI were silently ignored; they now load. CLI help lists the \u003ccode\u003evalidation_alias\u003c/code\u003e flag first, and \u003ccode\u003eCliApp.serialize\u003c/code\u003e emits it.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCLI case-insensitivity only lowercases registered options\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1036\"\u003e#1036\u003c/a\u003e). With \u003ccode\u003ecase_sensitive=False\u003c/code\u003e, args after \u003ccode\u003e--\u003c/code\u003e and those captured by \u003ccode\u003eCliUnknownArgs\u003c/code\u003e keep their case (\u003ccode\u003e-Xmx4G\u003c/code\u003e no longer becomes \u003ccode\u003e-xmx4g\u003c/code\u003e). Unrecognized options are now reported as typed (\u003ccode\u003e--NOPE\u003c/code\u003e instead of \u003ccode\u003e--nope\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON and YAML config files are read as UTF-8 by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/955\"\u003e#955\u003c/a\u003e) instead of the locale encoding, completing the secrets-file fix from 2.15.0. \u003ccode\u003ejson_file_encoding\u003c/code\u003e/\u003ccode\u003eyaml_file_encoding\u003c/code\u003e still override it.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDiscriminated union defaults are partially updated again\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/997\"\u003e#997\u003c/a\u003e). This reverts the 2.15.0 regression with \u003ccode\u003enested_model_default_partial_update=True\u003c/code\u003e: the default is only dropped when the incoming value selects a \u003cem\u003edifferent\u003c/em\u003e union member.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.15 and pydantic 2.14 support\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1026\"\u003e#1026\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1029\"\u003e#1029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1022\"\u003e#1022\u003c/a\u003e). pydantic 2.14 broke \u003ccode\u003eCliApp.run\u003c/code\u003e and \u003ccode\u003evalidate_by_alias=False\u003c/code\u003e handling; both are fixed.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCached settings instances\u003c/strong\u003e via \u003ccode\u003eSettings.settings_cached()\u003c/code\u003e and \u003ccode\u003eSettings.settings_clear_cache()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/952\"\u003e#952\u003c/a\u003e). These give you a process-local singleton per settings class without hand-rolling \u003ccode\u003elru_cache\u003c/code\u003e wrappers. Calling the class directly still builds a fresh instance.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAWS Systems Manager Parameter Store source\u003c/strong\u003e — \u003ccode\u003eAWSSystemsManagerSettingsSource\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/941\"\u003e#941\u003c/a\u003e). It recursively reads every parameter under an \u003ccode\u003essm_path\u003c/code\u003e, with \u003ccode\u003e/\u003c/code\u003e mapping onto nested models. Install it with the new \u003ccode\u003eaws-systems-manager\u003c/code\u003e extra.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eenv_file_depth\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/940\"\u003e#940\u003c/a\u003e) lets a relative \u003ccode\u003eenv_file\u003c/code\u003e be found in parent directories, mirroring \u003ccode\u003epyproject_toml_depth\u003c/code\u003e. This is useful when scripts run from a subdirectory of a monorepo. It defaults to \u003ccode\u003e0\u003c/code\u003e, which keeps the current behavior.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eCliVariadicArg\u003c/code\u003e for named variadic options\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/949\"\u003e#949\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/958\"\u003e#958\u003c/a\u003e). It accepts \u003ccode\u003e--param a b c\u003c/code\u003e in addition to repeated \u003ccode\u003e--param a --param b\u003c/code\u003e. Required fields need at least one value.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eCLI\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCliApp.serialize\u003c/code\u003e output now round-trips through \u003ccode\u003eCliApp.run\u003c/code\u003e for enums, tuples, dates and \u003ccode\u003eDecimal\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/988\"\u003e#988\u003c/a\u003e), explicit \u003ccode\u003eNone\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/981\"\u003e#981\u003c/a\u003e), empty containers (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1008\"\u003e#1008\u003c/a\u003e), \u003ccode\u003eCliVariadicArg\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/976\"\u003e#976\u003c/a\u003e) and populated \u003ccode\u003eCliUnknownArgs\u003c/code\u003e fields, which previously raised \u003ccode\u003eIndexError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/992\"\u003e#992\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEmpty JSON arrays (\u003ccode\u003e--items []\u003c/code\u003e) now give an empty list instead of \u003ccode\u003e['']\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/994\"\u003e#994\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTuples, \u003ccode\u003efrozenset\u003c/code\u003e, \u003ccode\u003eMutableSequence\u003c/code\u003e and other collection subtypes are now treated as repeatable/variadic options (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/972\"\u003e#972\u003c/a\u003e), and so are named collection type aliases such as \u003ccode\u003eTypeAliasType('Addrs', list[IPvAnyAddress])\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1032\"\u003e#1032\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecli_exit_on_error=False\u003c/code\u003e is now honored in \u003ccode\u003eCliSubCommand\u003c/code\u003e parsers, which raise \u003ccode\u003eSettingsError\u003c/code\u003e instead of exiting (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/977\"\u003e#977\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliSubCommand\u003c/code\u003e aliases keep their case with \u003ccode\u003ecase_sensitive=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/989\"\u003e#989\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEach \u003ccode\u003eCliUnknownArgs\u003c/code\u003e field now receives only its own subcommand's leftover args (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1004\"\u003e#1004\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliApp.format_help\u003c/code\u003e no longer crashes when \u003ccode\u003ecli_prefix\u003c/code\u003e is set in \u003ccode\u003emodel_config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/945\"\u003e#945\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eType aliases and parsing\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNamed union type aliases (\u003ccode\u003eTypeAliasType('V', list[int] | str)\u003c/code\u003e) now decode like their inline equivalents in env and dotenv sources, including under \u003ccode\u003eOptional\u003c/code\u003e, \u003ccode\u003eAnnotated\u003c/code\u003e and custom validation aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1006\"\u003e#1006\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1030\"\u003e#1030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1041\"\u003e#1041\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eResolving a named \u003ccode\u003eAnnotated\u003c/code\u003e type alias no longer mutates shared \u003ccode\u003eFieldInfo\u003c/code\u003e metadata, which made validators run twice on subclasses or after \u003ccode\u003emodel_rebuild()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/979\"\u003e#979\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA bare single-segment \u003ccode\u003eAliasPath('SOME_KEY')\u003c/code\u003e no longer tries to JSON-decode plain string values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/980\"\u003e#980\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecollections.abc.Set\u003c/code\u003e/\u003ccode\u003eMutableSet\u003c/code\u003e/\u003ccode\u003etyping.AbstractSet\u003c/code\u003e fields now JSON-decode env values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/973\"\u003e#973\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA bare \u003ccode\u003etyping.Dict\u003c/code\u003e field with \u003ccode\u003eenv_nested_delimiter\u003c/code\u003e no longer raises \u003ccode\u003eIndexError\u003c/code\u003e, which was a regression in 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1009\"\u003e#1009\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCase-insensitive matching now works for nested pydantic dataclasses (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1010\"\u003e#1010\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDotenv, secrets and config files\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWith \u003ccode\u003eextra='allow'\u003c/code\u003e, a non-lowercase \u003ccode\u003eenv_prefix\u003c/code\u003e is now stripped from dotenv extras (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/959\"\u003e#959\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/968\"\u003e#968\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esecrets_case_sensitive=True\u003c/code\u003e is now honored on Windows (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1001\"\u003e#1001\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn empty JSON config file is treated as an empty mapping instead of crashing (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/947\"\u003e#947\u003c/a\u003e), matching YAML and TOML.\u003c/li\u003e\n\u003cli\u003eTOML table headers: \u003ccode\u003e~\u003c/code\u003e paths are now expanded when checking that the file exists (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1034\"\u003e#1034\u003c/a\u003e), and an explicit \u003ccode\u003etoml_table_header=()\u003c/code\u003e now overrides the model config to read the file root (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1027\"\u003e#1027\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCloud sources\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAzure Key Vault and GCP Secret Manager now honor \u003ccode\u003eenv_parse_none_str\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1019\"\u003e#1019\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1040\"\u003e#1040\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAzure Key Vault: \u003ccode\u003edash_to_underscore=True\u003c/code\u003e now works for nested model fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1025\"\u003e#1025\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eNestedSecretsSettingsSource\u003c/code\u003e now validates its specific constructor arguments (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/975\"\u003e#975\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/pydantic/pydantic-settings/commit/8c259f41b49b4cefbe4fb676d3c1f52dddd3cca8\"\u003e\u003ccode\u003e8c259f4\u003c/code\u003e\u003c/a\u003e Prepare release 2.16.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1043\"\u003e#1043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4bc667ada383aca4df00304cd171f327a9fae163\"\u003e\u003ccode\u003e4bc667a\u003c/code\u003e\u003c/a\u003e Keep case of non-option CLI args when case_sensitive=False (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/f75a8057a5fafe4aef3a042c2adf367c6987f73f\"\u003e\u003ccode\u003ef75a805\u003c/code\u003e\u003c/a\u003e Simplify alias resolution branch and test alias with AliasChoices/AliasPath (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/cfdc5585e821e84905905027de68a0188213537a\"\u003e\u003ccode\u003ecfdc558\u003c/code\u003e\u003c/a\u003e Honor env_parse_none_str for GCP Secret Manager (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1040\"\u003e#1040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/081d39f9c73f46e68bc2bef75a23f7d84ed0c377\"\u003e\u003ccode\u003e081d39f\u003c/code\u003e\u003c/a\u003e Fix config file and CLI values being ignored when alias differs from validati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/c46ebc4cc599c09f3692f4d2e82a8f0bb5433f3a\"\u003e\u003ccode\u003ec46ebc4\u003c/code\u003e\u003c/a\u003e Expand home paths when checking TOML table headers (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1034\"\u003e#1034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6ea85e68532ed4365d7e43509369f41b5820ac74\"\u003e\u003ccode\u003e6ea85e6\u003c/code\u003e\u003c/a\u003e Decode optional Annotated named union aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1041\"\u003e#1041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ca9d7c4d7440ca35edff91a0e947f96e6381d890\"\u003e\u003ccode\u003eca9d7c4\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for optional named union aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/b6ddda2c8db5d8b0c13af7bafab8502ed7ea072c\"\u003e\u003ccode\u003eb6ddda2\u003c/code\u003e\u003c/a\u003e Fix CLI parsing for named collection type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1032\"\u003e#1032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bedb60e2cc253be2ae11003a51108c535a58757c\"\u003e\u003ccode\u003ebedb60e\u003c/code\u003e\u003c/a\u003e Honor explicit empty TOML table header overrides (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.15.0...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.48 to 2.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.1.4\u003c/h1\u003e\n\u003cp\u003eReleased: October 7, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug] [regression]\u003c/strong\u003e Fixed regression caused by \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13333\"\u003e#13333\u003c/a\u003e where assigning a\n\u003ccode\u003eMetaData\u003c/code\u003e object to the \u003ccode\u003emetadata\u003c/code\u003e attribute of a mapped\nDeclarative class, in order to place that class's \u003ccode\u003eTable\u003c/code\u003e in a\n\u003ccode\u003eMetaData\u003c/code\u003e collection other than that of the\n\u003ccode\u003e_orm.registry\u003c/code\u003e, would emit a warning that the attribute name\n\u003ccode\u003emetadata\u003c/code\u003e should be left reserved.  The warning is now emitted only\nwhen the \u003ccode\u003emetadata\u003c/code\u003e attribute is assigned to an object other than a\n\u003ccode\u003eMetaData\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13659\"\u003e#13659\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug] [regression]\u003c/strong\u003e Fixed regression from the 1.4 series where the DBAPI cursor used for a\ncompiled statement that returns no rows, which includes DDL constructs\nsuch as \u003ccode\u003eCreateTable\u003c/code\u003e and \u003ccode\u003eDropTable\u003c/code\u003e as well as the\nSAVEPOINT, ROLLBACK TO SAVEPOINT and RELEASE SAVEPOINT statements emitted\nby \u003ccode\u003e_engine.Connection.begin_nested()\u003c/code\u003e, was not closed after\nexecution, and was instead left to be released when garbage collected.\nThe cursor is now closed immediately, as was the case in 1.3 and as is\nalready the case for INSERT, UPDATE, DELETE and \u003ccode\u003e_sql.text()\u003c/code\u003e\nstatements.\u003c/p\u003e\n\u003cp\u003eThis change is also \u003cstrong\u003ebackported\u003c/strong\u003e to: 2.0.55\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13640\"\u003e#13640\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Fixed issue in the\n\u003ccode\u003e_engine.Connection.execution_options.logging_token\u003c/code\u003e option\nwhere setting the value to \u003ccode\u003eNone\u003c/code\u003e or another false value would raise\n\u003ccode\u003eAttributeError\u003c/code\u003e if a logging token had not already been established on\nthat \u003ccode\u003e_engine.Connection\u003c/code\u003e, such as on a newly checked out\nconnection, when the option was set at the \u003ccode\u003e_engine.Engine\u003c/code\u003e level,\nor when the token was reset to \u003ccode\u003eNone\u003c/code\u003e more than once.  Regression\nintroduced in 2.0.30 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11210\"\u003e#11210\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis change is also \u003cstrong\u003ebackported\u003c/strong\u003e to: 2.0.55\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13641\"\u003e#13641\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug] [regression]\u003c/strong\u003e Fixed regression where iterating a \u003ccode\u003eResult\u003c/code\u003e directly would create\nreference cycles that prevented the \u003ccode\u003eResult\u003c/code\u003e along with the DBAPI\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.18.4 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cp\u003eReleased: September 11, 2026\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [batch]\u003c/strong\u003e Added a warning for the case where an unnamed CHECK constraint on a\nreflected table is omitted from a batch \u0026qu...\n\n_Description has been truncated_","html_url":"https://github.com/welshDog/HyperCode-V2.4/pull/621","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/welshDog%2FHyperCode-V2.4/issues/621","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/621/packages"},{"uuid":"5882671784","node_id":"PR_kwDOSWKloM8AAAABI0to5A","number":125,"state":"open","title":"chore(deps): bump the pip-minor-patch group across 1 directory with 23 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-10-16T10:36:48.000Z","updated_at":"2026-10-16T10:38:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-minor-patch","update_count":23,"packages":[{"name":"ruff","old_version":"0.16.4","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ast-serialize","old_version":"0.11.2","new_version":"0.13.0","repository_url":"https://github.com/mypyc/ast_serialize"},{"name":"cachetools","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/tkem/cachetools"},{"name":"coverage","old_version":"7.16.1","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"fonttools","old_version":"4.64.0","new_version":"4.65.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"identify","old_version":"2.6.19","new_version":"2.6.20","repository_url":"https://github.com/pre-commit/identify"},{"name":"iniconfig","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"librt","old_version":"0.15.0","new_version":"0.16.0","repository_url":"https://github.com/mypyc/librt"},{"name":"matplotlib","old_version":"3.10.0","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"},{"name":"nodeenv","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"numpy","old_version":"2.1.3","new_version":"2.2.6","repository_url":"https://github.com/numpy/numpy"},{"name":"platformdirs","old_version":"4.11.7","new_version":"4.12.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyparsing","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyproject-api","old_version":"1.11.2","new_version":"1.11.4","repository_url":"https://github.com/tox-dev/pyproject-api"},{"name":"python-discovery","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"threadpoolctl","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tomli","old_version":"2.4.1","new_version":"2.5.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"tox","old_version":"4.63.0","new_version":"4.65.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"tzdata","old_version":"2026.3","new_version":"2026.5","repository_url":"https://github.com/python/tzdata"},{"name":"virtualenv","old_version":"21.9.1","new_version":"21.14.7","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-minor-patch group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.4` | `0.17.0` |\n| [ast-serialize](https://github.com/mypyc/ast_serialize) | `0.11.2` | `0.13.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `7.2.0` | `7.2.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.16.1` | `7.16.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.64.0` | `4.65.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.19` | `2.6.20` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.3.0` | `2.3.1` |\n| [librt](https://github.com/mypyc/librt) | `0.15.0` | `0.16.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.0` | `3.10.9` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.10.0` | `1.11.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.2.6` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.11.7` | `4.12.4` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.2` | `3.3.3` |\n| [pyproject-api](https://github.com/tox-dev/pyproject-api) | `1.11.2` | `1.11.4` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.6.1` | `1.6.2` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.6.0` | `3.7.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.4.1` | `2.5.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.63.0` | `4.65.0` |\n| [tzdata](https://github.com/python/tzdata) | `2026.3` | `2026.5` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.9.1` | `21.14.7` |\n\n\nUpdates `ruff` from 0.16.4 to 0.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through \u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or \u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15 instead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules (\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default, while \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and includes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e now recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ccode\u003efull\u003c/code\u003e output format now shows unsafe fixes and suggestions requiring manual review, regardless of the \u003ca href=\"https://docs.astral.sh/ruff/settings/#unsafe-fixes\"\u003e\u003ccode\u003eunsafe-fixes\u003c/code\u003e\u003c/a\u003e setting. Actually applying unsafe fixes still requires explicit opt-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the Python dependency from conda-forge builds (\u003ca href=\"https://redirect.github.com/conda-forge/ruff-feedstock/pull/361\"\u003econda-forge/ruff-feedstock#361\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe conda-forge build no longer depends on Python, now supports linux-riscv64, win-arm64, and linux-ppc64le platforms, and now includes shell completions. However, no longer depending on Python means that \u003ccode\u003epython -m ruff\u003c/code\u003e and \u003ccode\u003eimport ruff\u003c/code\u003e will no longer work. Use \u003ccode\u003eruff\u003c/code\u003e directly from \u003ccode\u003ePATH\u003c/code\u003e instead. PyPI installations and those from the standalone installer are unaffected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for ruff-lsp (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28750\"\u003e#28750\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSupport for \u003ccode\u003eruff-lsp\u003c/code\u003e, the legacy Python language server \u003ca href=\"https://github.com/astral-sh/ruff/releases/tag/0.9.5\"\u003edeprecated in Ruff v0.9.5\u003c/a\u003e, has been removed. The Ruff VS Code extension now always uses the native language server; \u003ccode\u003eruff.nativeServer\u003c/code\u003e is deprecated and ignored. See the \u003ca href=\"https://docs.astral.sh/ruff/editors/migration/\"\u003emigration guide\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-mismatch\"\u003e\u003ccode\u003elazy-import-mismatch\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID254\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved\"\u003e\u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID255\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-path-commonprefix\"\u003e\u003ccode\u003eos-path-commonprefix\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF071\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed.\nmacOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows\nexecutables have timestamped Authenticode signatures from Azure Artifact Signing. This enables\nverification of the release publisher and binary integrity, supports publisher-based allowlisting,\nand should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through\n\u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or\n\u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When\nchecking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15\ninstead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules\n(\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and\n\u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default,\nwhile \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and\nincludes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e\nnow recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5b27c1ccfaa230fb195855f5cf3404a21e3379cd\"\u003e\u003ccode\u003e5b27c1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.17.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29259\"\u003e#29259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8f362bf4cb5dbad095ac416602496705d41fc843\"\u003e\u003ccode\u003e8f362bf\u003c/code\u003e\u003c/a\u003e Integrate vendored Unicode names into Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/88a50d695c1142294bb4c780fad47d3306173885\"\u003e\u003ccode\u003e88a50d6\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode loose matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/276832aa91f2086a6ec880884fcdd987991cddf2\"\u003e\u003ccode\u003e276832a\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode alias normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/26911caa2800758779965510d2f222b438abbb38\"\u003e\u003ccode\u003e26911ca\u003c/code\u003e\u003c/a\u003e Vendor unicode_names2 from upstream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27e3797508d1a7ad69e4900d51e38d78785aaf73\"\u003e\u003ccode\u003e27e3797\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eruff\u003c/code\u003e] Stabilize \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28764\"\u003e#28764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bbb52c1267cf39aba67e54c2b5800878d23073a9\"\u003e\u003ccode\u003ebbb52c1\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e (`TID255...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5aa9cbd3a49d32b24ac21fa7797ca87a330792a2\"\u003e\u003ccode\u003e5aa9cbd\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-mismatch\u003c/code\u003e (\u003ccode\u003eTID254\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28760\"\u003e#28760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/dba1bc893aedfeea2064c4e8e764135f0d44dc3f\"\u003e\u003ccode\u003edba1bc8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (`...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef23c9c39eb3029bab0139c3ea7ae6d95c4131e0\"\u003e\u003ccode\u003eef23c9c\u003c/code\u003e\u003c/a\u003e Update default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28792\"\u003e#28792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.4...0.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ast-serialize` from 0.11.2 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/42628bd687c583025775f4c404235f73d43ca875\"\u003e\u003ccode\u003e42628bd\u003c/code\u003e\u003c/a\u003e Bump version to 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/67659a0bd5f46d6a91e4db907b06a71fdb659e76\"\u003e\u003ccode\u003e67659a0\u003c/code\u003e\u003c/a\u003e Straighten type comment parsing (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/95\"\u003e#95\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/8d0a5c6d1c87e29aa37c7292149086b514ccac93\"\u003e\u003ccode\u003e8d0a5c6\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/a7f11b17731c0c3b9afc683e977e3faf90ba6c19\"\u003e\u003ccode\u003ea7f11b1\u003c/code\u003e\u003c/a\u003e Fix parsing plain None type in a string (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/bcf707f0d2c59a8033d2d8734849b2233f36f70d\"\u003e\u003ccode\u003ebcf707f\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/89b6e832250fbc4d80739b318237f9571d6c32cc\"\u003e\u003ccode\u003e89b6e83\u003c/code\u003e\u003c/a\u003e Allow colon in error codes (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/94\"\u003e#94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mypyc/ast_serialize/compare/v0.11.2...v0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachetools` from 7.2.0 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst\"\u003ecachetools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev7.2.1 (2026-10-05)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImprove error handling for \u003ccode\u003eRRCache.popitem()\u003c/code\u003e when the cache is\nempty.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMinor style and documentation improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate CI environment.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/9976f1a8076631560f49c5b0dfda7e4d00ee0a4a\"\u003e\u003ccode\u003e9976f1a\u003c/code\u003e\u003c/a\u003e Release v7.2.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/ffe21c44d3f7de9c7a89870c8cf1fd7aa583a2ae\"\u003e\u003ccode\u003effe21c4\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/430\"\u003e#430\u003c/a\u003e: Honor falsey getsizeof callables (\u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/431\"\u003e#431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/110fe5d03e7b4b8f5c5ec97533c94254cdf8733f\"\u003e\u003ccode\u003e110fe5d\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/11153c947675edae9da06a5295bfa4a54b8a4f53\"\u003e\u003ccode\u003e11153c9\u003c/code\u003e\u003c/a\u003e Prefer pyright file-level comments over relaxing rules globally.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/bcf9e8176ebe16da58751fce971c98ffe045ede1\"\u003e\u003ccode\u003ebcf9e81\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/423\"\u003e#423\u003c/a\u003e: Detect an empty RRCache before calling choice.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/eadb91cc9d54a57d6738386bc5c575ff3c7d22ec\"\u003e\u003ccode\u003eeadb91c\u003c/code\u003e\u003c/a\u003e docs: clarify that unbounded TTL caches still expire entries\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tkem/cachetools/compare/v7.2.0...v7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.16.1 to 7.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/releases\"\u003ecoverage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.16.2\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a function return could mistakenly report an uncovered branch. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003eissue 2168\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is a \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the \u003ccode\u003ewith\u003c/code\u003e raised. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003eissue 2289\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own. Now they are, on Python 3.11 and later. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003eissue 1923\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.2\"\u003ecoverage 7.16.2\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.2\u003c/code\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/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a\nfunction return could mistakenly report an uncovered branch. This is now\nfixed, closing \u003ccode\u003eissue 2168\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is\na \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the\n\u003ccode\u003ewith\u003c/code\u003e raised.  This is now fixed, closing \u003ccode\u003eissue 2289\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as\n\u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own.\nNow they are, on Python 3.11 and later.  Closes \u003ccode\u003eissue 1923\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1923: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003ecoveragepy/coveragepy#1923\u003c/a\u003e\n.. _issue 2168: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003ecoveragepy/coveragepy#2168\u003c/a\u003e\n.. _issue 2289: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003ecoveragepy/coveragepy#2289\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-16-1:\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/coveragepy/coveragepy/commit/5643ae7c682bbd56ee1ac2b11556145ab8c2cab0\"\u003e\u003ccode\u003e5643ae7\u003c/code\u003e\u003c/a\u003e docs: prep for 7.16.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a3e969fc6ce8273538702a2336d8c2674f8017d8\"\u003e\u003ccode\u003ea3e969f\u003c/code\u003e\u003c/a\u003e fix: dynamic_context for \u003ca href=\"https://github.com/staticmethod\"\u003e\u003ccode\u003e@​staticmethod\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/classmethod\"\u003e\u003ccode\u003e@​classmethod\u003c/code\u003e\u003c/a\u003e tests (issue 1923) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ad72362f03e59643865d15ffadd002529a777a9\"\u003e\u003ccode\u003e8ad7236\u003c/code\u003e\u003c/a\u003e fix: stop counting the try/else line when a with statement raises (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2301\"\u003e#2301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c6dab1fc387d161fe5938ce9421a7a38ca81ae7f\"\u003e\u003ccode\u003ec6dab1f\u003c/code\u003e\u003c/a\u003e fix(debug): debug output doesn't mis-handle odd line separators \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2296\"\u003e#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/08fbc3229adc8e7681a0d9134d3d5beb1684ae54\"\u003e\u003ccode\u003e08fbc32\u003c/code\u003e\u003c/a\u003e style: Protocols should use \u003ccode\u003e...\u003c/code\u003e for method bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/bc7b0e386388148687241cadcab56ac3e17aea9c\"\u003e\u003ccode\u003ebc7b0e3\u003c/code\u003e\u003c/a\u003e refactor: positional-only args are better than pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/52afd6be360c3b949d69ff83aca873c119a7959a\"\u003e\u003ccode\u003e52afd6b\u003c/code\u003e\u003c/a\u003e Document parallel tox coverage data files (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2284\"\u003e#2284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f653aaec4c58f89375716389e4ca17dd056d2069\"\u003e\u003ccode\u003ef653aae\u003c/code\u003e\u003c/a\u003e fix: loop completion arcs on Python 3.14 (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cc1ced4d4c8ef7674a824002aa5157d1f37acd78\"\u003e\u003ccode\u003ecc1ced4\u003c/code\u003e\u003c/a\u003e test: PyPy still compiles comprehensions as functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/85a9088395e89840cb11c1c86735ba1f7a62d50d\"\u003e\u003ccode\u003e85a9088\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.16.1...7.16.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.64.0 to 4.65.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.65.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[glyf] Add \u003ccode\u003e__iter__\u003c/code\u003e, \u003ccode\u003eitems\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods to the \u003ccode\u003eglyf\u003c/code\u003e table to make it more dict-like (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Escape the anonymous block tag when scanning for its terminator, so tags containing regex metacharacters are matched literally (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4167\"\u003e#4167\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Strip directory components from \u003ccode\u003e\u0026lt;variable-font name=\u0026quot;...\u0026quot;/\u0026gt;\u003c/code\u003e when deriving the output filename in the \u003ccode\u003evarLib\u003c/code\u003e command line, so a designspace cannot write outside the output directory (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4168\"\u003e#4168\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix tracking of the current script and language across redundant \u003ccode\u003escript\u003c/code\u003e statements. Rules following a \u003ccode\u003escript\u003c/code\u003e statement that names the first declared language system no longer end up under the \u003ccode\u003eDFLT\u003c/code\u003e script, and a \u003ccode\u003escript\u003c/code\u003e statement naming the already-current script still narrows the language systems and terminates the current lookup while leaving the \u003ccode\u003elookupflag\u003c/code\u003e alone, matching makeotf (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1824\"\u003e#1824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/2522\"\u003e#2522\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4169\"\u003e#4169\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Escape glyph names in the HTML report (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4172\"\u003e#4172\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[otlLib] Fix overflow handling when building contextual lookups: offset overflows now raise \u003ccode\u003eOTLOffsetOverflowError\u003c/code\u003e instead of \u003ccode\u003eAttributeError\u003c/code\u003e so another contextual format can be tried (regression from \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3439\"\u003e#3439\u003c/a\u003e). When all formats overflow, split the ruleset in halves until it fits (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4171\"\u003e#4171\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/fonttools/fonttools/blob/main/NEWS.rst\"\u003efonttools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.65.0 (released 2026-09-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[glyf] Add \u003ccode\u003e__iter__\u003c/code\u003e, \u003ccode\u003eitems\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods to the \u003ccode\u003eglyf\u003c/code\u003e table\nto make it more dict-like (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Escape the anonymous block tag when scanning for its terminator, so tags\ncontaining regex metacharacters are matched literally (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4167\"\u003e#4167\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Strip directory components from \u003ccode\u003e\u0026lt;variable-font name=\u0026quot;...\u0026quot;/\u0026gt;\u003c/code\u003e when\nderiving the output filename in the \u003ccode\u003evarLib\u003c/code\u003e command line, so a designspace\ncannot write outside the output directory (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4168\"\u003e#4168\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix tracking of the current script and language across redundant\n\u003ccode\u003escript\u003c/code\u003e statements. Rules following a \u003ccode\u003escript\u003c/code\u003e statement that names the\nfirst declared language system no longer end up under the \u003ccode\u003eDFLT\u003c/code\u003e script, and\na \u003ccode\u003escript\u003c/code\u003e statement naming the already-current script still narrows the\nlanguage systems and terminates the current lookup while leaving the\n\u003ccode\u003elookupflag\u003c/code\u003e alone, matching makeotf (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1824\"\u003e#1824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/2522\"\u003e#2522\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4169\"\u003e#4169\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Escape glyph names in the HTML report (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4172\"\u003e#4172\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[otlLib] Fix overflow handling when building contextual lookups: offset overflows\nnow raise \u003ccode\u003eOTLOffsetOverflowError\u003c/code\u003e instead of \u003ccode\u003eAttributeError\u003c/code\u003e so another\ncontextual format can be tried (regression from \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3439\"\u003e#3439\u003c/a\u003e). When all formats\noverflow, split the ruleset in halves until it fits (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4171\"\u003e#4171\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/fonttools/fonttools/commit/656f89dbf2026a7225aafba4fa11218210a765f5\"\u003e\u003ccode\u003e656f89d\u003c/code\u003e\u003c/a\u003e Release 4.65.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/16439502571fa73669743960aeab082a1d1d965d\"\u003e\u003ccode\u003e1643950\u003c/code\u003e\u003c/a\u003e Update NEWS.rst [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/fd0f083404d89ca61b9a8ce030b5b3006b709734\"\u003e\u003ccode\u003efd0f083\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4177\"\u003e#4177\u003c/a\u003e from fonttools/sbix-to-otsvg-snippet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/9c625d410065e5006502bee9d4c734b2bf8c5c54\"\u003e\u003ccode\u003e9c625d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4171\"\u003e#4171\u003c/a\u003e from fonttools/fix-contextual-size-overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/5f04c3853b5d20185f4913f63a863d1b1a652cc3\"\u003e\u003ccode\u003e5f04c38\u003c/code\u003e\u003c/a\u003e Add sbix to OT-SVG conversion snippet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/48a0cf93bbca4983455d2d31e85de42377b83bd2\"\u003e\u003ccode\u003e48a0cf9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4172\"\u003e#4172\u003c/a\u003e from insaf021/interpolatable-html-escape\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/d30db24fc883f27c3ea5e0560c52dfe501a38918\"\u003e\u003ccode\u003ed30db24\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4169\"\u003e#4169\u003c/a\u003e from cmyr/fealib-script-tracking-afdko\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/ac342d76483071017dfc56cb02be4d18f5f6460d\"\u003e\u003ccode\u003eac342d7\u003c/code\u003e\u003c/a\u003e [varLib.interpolatable] escape glyph name in HTML report\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/2a93de2209317546d4016ea09b229e0417f59eb8\"\u003e\u003ccode\u003e2a93de2\u003c/code\u003e\u003c/a\u003e Split contextual rulesets when all formats overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/e6bb5fe394b418b17f27ac22b96da2d39fb4a472\"\u003e\u003ccode\u003ee6bb5fe\u003c/code\u003e\u003c/a\u003e Fix overflow reporting when sizing contextual lookups\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fonttools/fonttools/compare/4.64.0...4.65.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.0 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `identify` from 2.6.19 to 2.6.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/aa34031fb31db554aa02e61dc703604a19cba0a0\"\u003e\u003ccode\u003eaa34031\u003c/code\u003e\u003c/a\u003e v2.6.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/116099f59f9e603de9385b9f7f36a38f47f2cb36\"\u003e\u003ccode\u003e116099f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/609\"\u003e#609\u003c/a\u003e from Malix-Labs/feat/add-nushell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/971546cb3e5102681e143602c3b513e8153ddc65\"\u003e\u003ccode\u003e971546c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/610\"\u003e#610\u003c/a\u003e from pre-commit/lock-file-tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/da45cb15e5c40e03253066cbfc6259cc2ef17520\"\u003e\u003ccode\u003eda45cb1\u003c/code\u003e\u003c/a\u003e Add support for 'nu' extension and Nushell interpreters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a35b99bcf29f016f574f52c39d1c83533fa37d5d\"\u003e\u003ccode\u003ea35b99b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/608\"\u003e#608\u003c/a\u003e from steovd/profile-sh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/bd5cdb7c18f5cb74adba9619fe9bd06747e8a8a7\"\u003e\u003ccode\u003ebd5cdb7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/601\"\u003e#601\u003c/a\u003e from ngie-eign/issue-258\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/66faf04d79b064020901da66a648239039efcb2b\"\u003e\u003ccode\u003e66faf04\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/597\"\u003e#597\u003c/a\u003e from edgarrmondragon/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c75a0a21564ed6e1721394255af3ddd4f40bbd06\"\u003e\u003ccode\u003ec75a0a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/593\"\u003e#593\u003c/a\u003e from NinjaMandalorian/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/ea6c9f914a6d7507777ca54ba86b9af52ae6f026\"\u003e\u003ccode\u003eea6c9f9\u003c/code\u003e\u003c/a\u003e Add support for 'luau' file extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/d28c5712db75b16bd715b7c7b545e3eb5f6f2a35\"\u003e\u003ccode\u003ed28c571\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/585\"\u003e#585\u003c/a\u003e from Kvan7/patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/identify/compare/v2.6.19...v2.6.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `iniconfig` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/releases\"\u003einiconfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParsing values with many continuation lines is now linear instead of quadratic in time (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA leading UTF-8 BOM is now stripped when reading INI files. Files saved by Windows editors used to fail with \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInternal\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines. This is private API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe README example now uses \u003ccode\u003eIniConfig.parse()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e, thanks \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed the issue tracker link (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/74\"\u003e#74\u003c/a\u003e, thanks \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull diff:\u003c/strong\u003e \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/71\"\u003epytest-dev/iniconfig#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/72\"\u003epytest-dev/iniconfig#72\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix link to issues by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eparse_lines: keep values as list of lines, join once by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/78\"\u003epytest-dev/iniconfig#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/73\"\u003epytest-dev/iniconfig#73\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff autofix by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/80\"\u003epytest-dev/iniconfig#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use parse API in the README example by \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip leading UTF-8 BOM when reading INI files by \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echangelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/81\"\u003epytest-dev/iniconfig#81\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/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.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/pytest-dev/iniconfig/blob/main/CHANGELOG\"\u003einiconfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix quadratic parse time for values with many continuation lines (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estrip a leading UTF-8 BOM when reading INI files, which previously raised \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einternal: \u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/316fbfaf2752d89326e1e75b45cd070f5b5ace9a\"\u003e\u003ccode\u003e316fbfa\u003c/code\u003e\u003c/a\u003e changelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/d2dcb7289291e7e7019c183659814d42f7264b2d\"\u003e\u003ccode\u003ed2dcb72\u003c/code\u003e\u003c/a\u003e Strip leading UTF-8 BOM when reading INI files (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/40d8c03a1553953350d787e45f1cb768e2c14e6a\"\u003e\u003ccode\u003e40d8c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e from MbappeWU/codex/docs-parse-inline-comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/48359c3a7c2c8648a134ea8469e802b5aa8d5030\"\u003e\u003ccode\u003e48359c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/80\"\u003e#80\u003c/a\u003e from pytest-dev/claude/fix-iniconfig-test-eukh2n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/b153213a011fa92f4370c83cef614cf73c987f57\"\u003e\u003ccode\u003eb153213\u003c/code\u003e\u003c/a\u003e test: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff RUF022 autofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/4fddfabc850afee28178931c62535ba1c2b30c72\"\u003e\u003ccode\u003e4fddfab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/73\"\u003e#73\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/15852c2d1f9178ff960bf6c39a6f0f1495f1009e\"\u003e\u003ccode\u003e15852c2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/2e68639c3f41ea5b693f89807172cf304c94fb9e\"\u003e\u003ccode\u003e2e68639\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/23c9e088a909f16d0d8dc03b5090c66964c428b0\"\u003e\u003ccode\u003e23c9e08\u003c/code\u003e\u003c/a\u003e docs: use parse API in the README example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/e038536fbee6b5e76b180fce6694fd54661ced12\"\u003e\u003ccode\u003ee038536\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e from RonnyPfannschmidt/claude/dazzling-einstein-h8zq7m\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `librt` from 0.15.0 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/librt/commit/b2508063e86e012301e09432a6d58e74224f1e24\"\u003e\u003ccode\u003eb250806\u003c/code\u003e\u003c/a\u003e Sync mypy and bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mypyc/librt/compare/v0.15.0...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.0 to 3.10.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.9\u003c/h2\u003e\n\u003cp\u003eThis is a micro release of the v3.10.x series.\nHighlights of this release include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious minor bug and doc fixes\u003c/li\u003e\n\u003cli\u003eSecurity hardening validation of cyclers - Removing eval usage\u003c/li\u003e\n\u003cli\u003eSecurity hardening in Latex and PS calls - Removing shell escapes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eREL: v3.10.8\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe primary highlights of this release are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProperly allow freethreaded mode in the MacOS backend\u003c/li\u003e\n\u003cli\u003eBetter error handling for MacOS backend\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.6\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eHighlights from this release include:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Fix regression of hi-dpi support for Qt\r\n- Fix race condition in TexManager.make_dvi \u0026amp; make_png\r\n- Various documentation and other bugfixes\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eREL: v3.10.5\u003c/h2\u003e\n\u003cp\u003eThis is the fourth bugfix release of the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eIncluded in this release is distributed wheels for Python 3.14 (including freethreaded) and Windows ARM.\u003c/p\u003e\n\u003cp\u003eThere are also several smaller bugfixes.\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.3\u003c/h2\u003e\n\u003cp\u003eThis is the third bugfix release of the 3.10.x series\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.1\u003c/h2\u003e\n\u003cp\u003eThis is the first bugfix release of the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThis release contains several bug-fixes and adjustments:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRespect array alpha with interpolation_stage='rgba' in _Imagebase::_make_image\u003c/li\u003e\n\u003cli\u003eRemove md5 usage to prevent issues on FIPS enabled systems\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/matplotlib/matplotlib/commit/dd8d78b8dce60b6c8db86132892577a0b9dbe469\"\u003e\u003ccode\u003edd8d78b\u003c/code\u003e\u003c/a\u003e REL: v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/2fb18915bcfe69a188832c776fe18d88337de9bc\"\u003e\u003ccode\u003e2fb1891\u003c/code\u003e\u003c/a\u003e REL: Release prep v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d0e923abfa016c04901fe4e315b9d215949f6fc5\"\u003e\u003ccode\u003ed0e923a\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.8-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/163793248a5fc9f23a560e45551c44351a8bd716\"\u003e\u003ccode\u003e1637932\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31558\"\u003e#31558\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31556-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a83faacb0dbe7edd1bae38e1e715b77b6aaebb84\"\u003e\u003ccode\u003ea83faac\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31556\"\u003e#31556\u003c/a\u003e: FIX: Inverted PyErr_Occurred check in enum type caster (_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a4f57ab0623f9d26be29e0a3b0de904667c7eeb7\"\u003e\u003ccode\u003ea4f57ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31545\"\u003e#31545\u003c/a\u003e from ksunden/backport-of-pr-31282-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/063288d0cc912aa2af5cc1b7e7ca3d228d9f8976\"\u003e\u003ccode\u003e063288d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31544\"\u003e#31544\u003c/a\u003e from ksunden/backport-of-pr-31248-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/b2ed1969191a03ec8927f96573664474662ab4c1\"\u003e\u003ccode\u003eb2ed196\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31248\"\u003e#31248\u003c/a\u003e: SEC: Remove eval() from validate_cycler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/acc60241a70b920eaf04fce41a8cf0a77010fb7d\"\u003e\u003ccode\u003eacc6024\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31282\"\u003e#31282\u003c/a\u003e from scottshambaugh/tex_no_shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/e3fb54163b1ce9dbc1a9e8e0973289dc14e366c2\"\u003e\u003ccode\u003ee3fb541\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31078\"\u003e#31078\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31075-on-v...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.0...v3.10.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 2.4\u003c/h2\u003e\n\u003cp\u003eWe've just uploaded mypy 2.4.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.15 Support\u003c/h3\u003e\n\u003cp\u003eMypy 2.4 supports running on Python 3.15 and type checking most Python\n3.15 features. This includes the new builtin \u003ccode\u003esentinel\u003c/code\u003e type for\nsentinel values (PEP 661), which mypy now supports (see below for\ndetails). Lazy imports (PEP 810) and unpacking in comprehensions\n(PEP 798) are also supported. Closed TypedDicts (PEP 728) have been\nsupported since mypy 2.2, but the \u003ccode\u003eextra_items\u003c/code\u003e TypedDict argument,\nalso introduced in PEP 728, is still unsupported. Support for\n\u003ccode\u003eextra_items\u003c/code\u003e will be added in a future mypy release.\u003c/p\u003e\n\u003ch3\u003eNative Parser Enabled by Default\u003c/h3\u003e\n\u003cp\u003eMypy now uses the new native parser by default. It's based on the Ruff\nparser, and it's significantly faster than the legacy parser, which\nuses the stdlib \u003ccode\u003east\u003c/code\u003e module. The native parser also has other\nbenefits:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou can target newer Python versions and use recent Python syntax\neven when running mypy on an older Python version. For example, you\ncan use \u003ccode\u003e--python-version 3.15\u003c/code\u003e when running mypy on Python 3.14.\u003c/li\u003e\n\u003cli\u003eStub files can use syntax that is newer than the target Python\nversion. For example, stubs can use the PEP 695 generic class syntax\n(\u003ccode\u003eclass Box[T]: ...\u003c/code\u003e) when running on or targeting Python 3.10.\u003c/li\u003e\n\u003cli\u003eParallel type checking requires the native parser.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe legacy parser is still available through \u003ccode\u003e--no-native-parser\u003c/code\u003e, or\n\u003ccode\u003enative_parser = False\u003c/code\u003e in the config file (\u003ccode\u003enative_parser = false\u003c/code\u003e\nunder \u003ccode\u003e[tool.mypy]\u003c/code\u003e in pyproject.toml). We are planning to remove the\nlegacy parser in early 2027. If you run into a problem with the native\nparser, please report it on the\n\u003ca href=\"https://github.com/python/mypy/issues\"\u003eissue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUnlike the legacy parser, the native parser doesn't support type\ncomments for variables defined by \u003ccode\u003efor\u003c/code\u003e and \u003ccode\u003ewith\u003c/code\u003e statements. These\ntype comments are silently ignored, and the types of the variables are\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/935ba8afba7ceacca0651579450c74339f343016\"\u003e\u003ccode\u003e935ba8a\u003c/code\u003e\u003c/a\u003e Bump version to 2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/334a678967dc6bcda3d3f8cb82e253dd61fa2be9\"\u003e\u003ccode\u003e334a678\u003c/code\u003e\u003c/a\u003e Add link for PR 22066 in mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22082\"\u003e#22082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/fe69660bcdaa76cccb1aedbb4b9c1c7627215571\"\u003e\u003ccode\u003efe69660\u003c/code\u003e\u003c/a\u003e Finalize mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22080\"\u003e#22080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/541fd87ac53581fb3c511b277fd780ec4e869c95\"\u003e\u003ccode\u003e541fd87\u003c/code\u003e\u003c/a\u003e Various mypy 2.4 changelog updates (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22077\"\u003e#22077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b231182c0b2993918f74594236bda7d3ec6fcbe5\"\u003e\u003ccode\u003eb231182\u003c/code\u003e\u003c/a\u003e Update native parser docs (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22078\"\u003e#22078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/04fe42ce217f120a4de2c1fd62b71ef77452d699\"\u003e\u003ccode\u003e04fe42c\u003c/code\u003e\u003c/a\u003e Initial Changelog for Mypy 2.4 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22071\"\u003e#22071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/06174941bca0e88567441ee3cb0ffaef0dd22e2c\"\u003e\u003ccode\u003e0617494\u003c/code\u003e\u003c/a\u003e Quick fix for non UTF-8 encodings with new parser (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22066\"\u003e#22066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b2f9b60eae5ac7cd9c6a60650b128815bb703daf\"\u003e\u003ccode\u003eb2f9b60\u003c/code\u003e\u003c/a\u003e Bump librt to 0.16.0 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22067\"\u003e#22067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d798dcb9589f9bd62e625a97d8db23ad9a678fa\"\u003e\u003ccode\u003e9d798dc\u003c/code\u003e\u003c/a\u003e Sync typeshed (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22054\"\u003e#22054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0861bb6450d6d3658e44dbca9cd2ba478faf3c1d\"\u003e\u003ccode\u003e0861bb6\u003c/code\u003e\u003c/a\u003e Reduce max protocol stack size to 20 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22053\"\u003e#22053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v2.3.1...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nodeenv` from 1.10.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ekalinin/nodeenv/releases\"\u003enodeenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features 🎉\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(certifi): optionally use certifi certificates by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/394\"\u003eekalinin/nodeenv#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): accept npm-style semver ranges in --node by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/393\"\u003eekalinin/nodeenv#393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): add --prefer-system to use system node when available by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/395\"\u003eekalinin/nodeenv#395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): add --isolate-npm to keep npm config inside the environment by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/396\"\u003eekalinin/nodeenv#396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): install local packages from a requirements file by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/407\"\u003eekalinin/nodeenv#407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): write the posix activate on Windows for git-bash by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/409\"\u003eekalinin/nodeenv#409\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed bugs 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: repair Windows CI (ZipFile.extractall filter, test_smoke layout) by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/392\"\u003eekalinin/nodeenv#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): replace leftover debug print with logger.debug by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/391\"\u003eekalinin/nodeenv#391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): stop -p from reinstalling node that is already there by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/403\"\u003eekalinin/nodeenv#403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): let -p target a virtualenv nodeenv isn't installed in by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/402\"\u003eekalinin/nodeenv#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): report the url and proxy instead of a traceback by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/410\"\u003eekalinin/nodeenv#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): keep the python virtualenv's scripts under -p on Windows by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/411\"\u003eekalinin/nodeenv#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): report a missing node archive instead of a traceback by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/412\"\u003eekalinin/nodeenv#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): detect musl regardless of the host triplet vendor by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/413\"\u003eekalinin/nodeenv#413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): read npm's parseable listing in freeze by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/414\"\u003eekalinin/nodeenv#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: allow zsh to source bin/activate by \u003ca href=\"https://github.com/r3wretrhy\"\u003e\u003ccode\u003e@​r3wretrhy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/417\"\u003eekalinin/nodeenv#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): link nodejs.exe without mklink by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/415\"\u003eekalinin/nodeenv#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements 🛠\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEAT: Check if activate is called as script. by \u003ca href=\"https://github.com/quazgar\"\u003e\u003ccode\u003e@​quazgar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/384\"\u003eekalinin/nodeenv#384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eaddress deprecation warning in tarfile.TarFile.extract all in Python … by \u003ca href=\"https://github.com/nernst\"\u003e\u003ccode\u003e@​nernst\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/380\"\u003eekalinin/nodeenv#380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): run the activation scripts in sh, dash, bash, zsh and fish by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/397\"\u003eekalinin/nodeenv#397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): give the integration smoke tests a home and stop running them 20 times by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/401\"\u003eekalinin/nodeenv#401\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): clean \u0026quot;src\u0026quot; directory by default by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/404\"\u003eekalinin/nodeenv#404\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs(readme): document file:// mirrors as a local download source by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/405\"\u003eekalinin/nodeenv#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(changes): backfill the changelog from 1.3.2 to 1.10.0 by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/408\"\u003eekalinin/nodeenv#408\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(release): bump nodeenv version to 1.11.0 by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/418\"\u003eekalinin/nodeenv#418\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/quazgar\"\u003e\u003ccode\u003e@​quazgar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/384\"\u003eekalinin/nodeenv#384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nernst\"\u003e\u003ccode\u003e@​nernst\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/380\"\u003eekalinin/nodeenv#380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/r3wretrhy\"\u003e\u003ccode\u003e@​r3wretrhy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/417\"\u003eekalinin/nodeenv#417\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ekalinin/nodeenv/compare/1.10.0...1.11.0\"\u003ehttps://github.com/ekalinin/nodeenv/compare/1.10.0...1.11.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/ekalinin/nodeenv/blob/master/CHANGES\"\u003enodeenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed zsh \u003ccode\u003esource bin/activate\u003c/code\u003e aborting on the direct-call guard \u003ccode\u003e[#398](https://github.com/ekalinin/nodeenv/issues/398) \u0026lt;https://github.com/ekalinin/nodeenv/issues/398\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded check for how \u003ccode\u003eactivate\u003c/code\u003e is called\n\u003ccode\u003e[#384](https://github.com/ekalinin/nodeenv/issues/384) \u0026lt;https://github.com/ekalinin/nodeenv/pull/384\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAddressed the \u003ccode\u003etarfile.extractall\u003c/code\u003e deprecation on Python \u0026gt;= 3.12 by\nsetting \u003ccode\u003efilter='data'\u003c/code\u003e, which also prevents writing files via \u0026quot;..\u0026quot; or\nabsolute paths \u003ccode\u003e[#380](https://github.com/ekalinin/nodeenv/issues/380) \u0026lt;https://github.com/ekalinin/nodeenv/pull/380\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded support for Solaris/illumos\n\u003ccode\u003e[#360](https://github.com/ekalinin/nodeenv/issues/360) \u0026lt;https://github.com/ekalinin/nodeenv/issues/360\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003epredeactivate\u003c/code\u003e hooks for Windows\u003c/li\u003e\n\u003cli\u003eAdded error handling and tests for the node installation\n\u003ccode\u003e[#336](https://github.com/ekalinin/nodeenv/issues/336) \u0026lt;https://github.com/ekalinin/nodeenv/issues/336\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eRemoved the leftover debug \u003ccode\u003eprint\u003c/code\u003e that leaked a dict to stdout on every\nversion detection \u003ccode\u003e[#390](https://github.com/ekalinin/nodeenv/issues/390) \u0026lt;https://github.com/ekalinin/nodeenv/issues/390\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e--with-certifi\u003c/code\u003e to download packages with the certifi certificate\nbundle \u003ccode\u003e[#388](https://github.com/ekalinin/nodeenv/issues/388) \u0026lt;https://github.com/ekalinin/nodeenv/pull/388\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--node\u003c/code\u003e accepts npm-style semver ranges\n\u003ccode\u003e[#393](https://github.com/ekalinin/nodeenv/issues/393) \u0026lt;https://github.com/ekalinin/nodeenv/pull/393\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e--prefer-system\u003c/code\u003e to use system-wide node.js when available and\ninstall one otherwise \u003ccode\u003e[#153](https://github.com/ekalinin/nodeenv/issues/153) \u0026lt;https://github.com/ekalinin/nodeenv/issues/153\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e--isolate-npm\u003c/code\u003e to keep npm cache, userconfig and init-module inside\nthe environment \u003ccode\u003e[#154](https://github.com/ekalinin/nodeenv/issues/154) \u0026lt;https://github.com/ekalinin/nodeenv/issues/154\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded tests that run the activation scripts in sh, dash, bash, zsh and fish.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-p\u003c/code\u003e no longer reinstalls node when the requested version is already in the\nvirtualenv \u003ccode\u003e[#159](https://github.com/ekalinin/nodeenv/issues/159) \u0026lt;https://github.com/ekalinin/nodeenv/issues/159\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eRepeated \u003ccode\u003e-p\u003c/code\u003e runs no longer duplicate the \u003ccode\u003epredeactivate\u003c/code\u003e hook\n\u003ccode\u003e[#159](https://github.com/ekalinin/nodeenv/issues/159) \u0026lt;https://github.com/ekalinin/nodeenv/issues/159\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-p\u003c/code\u003e accepts an optional virtualenv directory and prefers the activated\n\u003ccode\u003eVIRTUAL_ENV\u003c/code\u003e over the virtualenv nodeenv itself is installed in\n\u003ccode\u003e[#156](https://github.com/ekalinin/nodeenv/issues/156) \u0026lt;https://github.com/ekalinin/nodeenv/issues/156\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-r/--requirements\u003c/code\u003e may now be given more than once, and the new\n\u003ccode\u003e--local-requirements\u003c/code\u003e installs the packages of a file locally, into\n\u0026quot;node_modules\u0026quot; of the current directory, which is what \u003ccode\u003efreeze -l\u003c/code\u003e writes.\nUnder npm \u0026lt; 1.0.0, which has no \u003ccode\u003e-g\u003c/code\u003e, a local file is still installed the\nold way \u003ccode\u003e[#206](https://github.com/ekalinin/nodeenv/issues/206) \u0026lt;https://github.com/ekalinin/nodeenv/issues/206\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eThe \u0026quot;src\u0026quot; directory is now removed after installation by default, which\nhalves the size of an environment. Added \u003ccode\u003e--no-clean-src\u003c/code\u003e to keep it: with\n\u003ccode\u003e--source\u003c/code\u003e that is what lets a repeated \u003ccode\u003e--force\u003c/code\u003e build reuse the\ndownloaded source tree\n\u003ccode\u003e[#205](https://github.com/ekalinin/nodeenv/issues/205) \u0026lt;https://github.com/ekalinin/nodeenv/issues/205\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eDocumented that \u003ccode\u003e--mirror\u003c/code\u003e takes a \u003ccode\u003efile://\u003c/code\u003e URL, so a local directory can\nserve as the download source\n\u003ccode\u003e[#193](https://github.com/ekalinin/nodeenv/issues/193) \u0026lt;https://github.com/ekalinin/nodeenv/issues/193\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eThe posix \u003ccode\u003eactivate\u003c/code\u003e is now written on Windows too, into \u0026quot;Scripts\u0026quot;, so\ngit-bash and the other posix shells there can activate an environment\n\u003ccode\u003e[#226](https://github.com/ekalinin/nodeenv/issues/226) \u0026lt;https://github.com/ekalinin/nodeenv/issues/226\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eA download that reaches nothing at all, which a broken \u003ccode\u003ehttp_proxy\u003c/code\u003e or\n\u003ccode\u003ehttps_proxy\u003c/code\u003e usually causes, now reports the url and the proxy settings\ninstead of a traceback\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ekalinin/nodeenv/commit/e7453580730938674da3e6928cc663cf9faf9e66\"\u003e\u003ccode\u003ee745358\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/issues/418\"\u003e#418\u003c/a\u003e from ekalinin/chore/release-1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ekalinin/nodeenv/commit/fd19956502f268aeb69757cbee17569ec7adf97a\"\u003e\u003ccode\u003efd19956\u003c/code\u003e\u003c/a\u003e...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated development and project tooling versions.\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/Sharqascc/graf/pull/125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharqascc%2Fgraf/issues/125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/125/packages"},{"uuid":"5881128605","node_id":"PR_kwDOT_gyjc8AAAABIzeAng","number":46,"state":"closed","title":"build(deps): bump the python-runtime group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-18T18:53:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-16T08:44:41.000Z","updated_at":"2026-10-18T18:53:12.000Z","time_to_close":209302,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-runtime","update_count":2,"packages":[{"name":"hypothesis","old_version":"6.168.5","new_version":"6.169.4","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.16.10","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-runtime group with 2 updates in the / directory: [hypothesis](https://github.com/HypothesisWorks/hypothesis) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `hypothesis` from 6.168.5 to 6.169.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e7c0eb9cc13f75ed6799396064f16a55edd3a398\"\u003e\u003ccode\u003ee7c0eb9\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c3705d257fdde89324cdaca53390011cc116324a\"\u003e\u003ccode\u003ec3705d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4898\"\u003e#4898\u003c/a\u003e from Arjun-Aravind/fix/unresolved-lazy-annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6ec54d574182ae21b842bf480e59ce894fcb400e\"\u003e\u003ccode\u003e6ec54d5\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/37c64201b5b708828bda91b0a5ec418efadcaf2f\"\u003e\u003ccode\u003e37c6420\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4903\"\u003e#4903\u003c/a\u003e from MarcoGorelli/random-seed-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/18ad4419644b7785ce7bcd73cfe4e569921ec85d\"\u003e\u003ccode\u003e18ad441\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/29a1dc0da1c339de3908e4df335ed057abd23e50\"\u003e\u003ccode\u003e29a1dc0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4883\"\u003e#4883\u003c/a\u003e from deepak7lal/fix/ghostwriter-no-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b94375310c9d9724ca5177d08314dc5a79db4a78\"\u003e\u003ccode\u003eb943753\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e8d38bef08ad1dbd0f8d06ddc502654d182d4841\"\u003e\u003ccode\u003ee8d38be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4892\"\u003e#4892\u003c/a\u003e from MarcoGorelli/data-strategy-keyword-args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/386a9299988f7198efebc5ff755bc47fc864f783\"\u003e\u003ccode\u003e386a929\u003c/code\u003e\u003c/a\u003e Accept the same arguments as Random.seed() in randoms()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b3cfe2a2a98144b7ccb743cd61e4949989573266\"\u003e\u003ccode\u003eb3cfe2a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4901\"\u003e#4901\u003c/a\u003e from Liam-DeVoe/redistribute-numeric-pairs-int-test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.5...v6.169.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.16.10 to 0.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through \u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or \u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15 instead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules (\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default, while \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and includes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e now recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ccode\u003efull\u003c/code\u003e output format now shows unsafe fixes and suggestions requiring manual review, regardless of the \u003ca href=\"https://docs.astral.sh/ruff/settings/#unsafe-fixes\"\u003e\u003ccode\u003eunsafe-fixes\u003c/code\u003e\u003c/a\u003e setting. Actually applying unsafe fixes still requires explicit opt-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the Python dependency from conda-forge builds (\u003ca href=\"https://redirect.github.com/conda-forge/ruff-feedstock/pull/361\"\u003econda-forge/ruff-feedstock#361\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe conda-forge build no longer depends on Python, now supports linux-riscv64, win-arm64, and linux-ppc64le platforms, and now includes shell completions. However, no longer depending on Python means that \u003ccode\u003epython -m ruff\u003c/code\u003e and \u003ccode\u003eimport ruff\u003c/code\u003e will no longer work. Use \u003ccode\u003eruff\u003c/code\u003e directly from \u003ccode\u003ePATH\u003c/code\u003e instead. PyPI installations and those from the standalone installer are unaffected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for ruff-lsp (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28750\"\u003e#28750\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSupport for \u003ccode\u003eruff-lsp\u003c/code\u003e, the legacy Python language server \u003ca href=\"https://github.com/astral-sh/ruff/releases/tag/0.9.5\"\u003edeprecated in Ruff v0.9.5\u003c/a\u003e, has been removed. The Ruff VS Code extension now always uses the native language server; \u003ccode\u003eruff.nativeServer\u003c/code\u003e is deprecated and ignored. See the \u003ca href=\"https://docs.astral.sh/ruff/editors/migration/\"\u003emigration guide\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-mismatch\"\u003e\u003ccode\u003elazy-import-mismatch\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID254\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved\"\u003e\u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID255\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-path-commonprefix\"\u003e\u003ccode\u003eos-path-commonprefix\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF071\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed.\nmacOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows\nexecutables have timestamped Authenticode signatures from Azure Artifact Signing. This enables\nverification of the release publisher and binary integrity, supports publisher-based allowlisting,\nand should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through\n\u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or\n\u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When\nchecking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15\ninstead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules\n(\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and\n\u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default,\nwhile \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and\nincludes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e\nnow recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5b27c1ccfaa230fb195855f5cf3404a21e3379cd\"\u003e\u003ccode\u003e5b27c1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.17.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29259\"\u003e#29259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8f362bf4cb5dbad095ac416602496705d41fc843\"\u003e\u003ccode\u003e8f362bf\u003c/code\u003e\u003c/a\u003e Integrate vendored Unicode names into Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/88a50d695c1142294bb4c780fad47d3306173885\"\u003e\u003ccode\u003e88a50d6\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode loose matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/276832aa91f2086a6ec880884fcdd987991cddf2\"\u003e\u003ccode\u003e276832a\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode alias normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/26911caa2800758779965510d2f222b438abbb38\"\u003e\u003ccode\u003e26911ca\u003c/code\u003e\u003c/a\u003e Vendor unicode_names2 from upstream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27e3797508d1a7ad69e4900d51e38d78785aaf73\"\u003e\u003ccode\u003e27e3797\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eruff\u003c/code\u003e] Stabilize \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28764\"\u003e#28764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bbb52c1267cf39aba67e54c2b5800878d23073a9\"\u003e\u003ccode\u003ebbb52c1\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e (`TID255...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5aa9cbd3a49d32b24ac21fa7797ca87a330792a2\"\u003e\u003ccode\u003e5aa9cbd\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-mismatch\u003c/code\u003e (\u003ccode\u003eTID254\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28760\"\u003e#28760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/dba1bc893aedfeea2064c4e8e764135f0d44dc3f\"\u003e\u003ccode\u003edba1bc8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (`...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef23c9c39eb3029bab0139c3ea7ae6d95c4131e0\"\u003e\u003ccode\u003eef23c9c\u003c/code\u003e\u003c/a\u003e Update default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28792\"\u003e#28792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.10...0.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Hecavex/radar.hecavex.com/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hecavex%2Fradar.hecavex.com/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"},{"uuid":"5878127793","node_id":"PR_kwDOVLwmd88AAAABIxF7bg","number":6,"state":"open","title":"build(deps): bump hypothesis from 6.155.3 to 6.168.3 in /Tools","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-10-16T04:05:11.000Z","updated_at":"2026-10-16T04:05:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"hypothesis","old_version":"6.155.3","new_version":"6.168.3","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":"/Tools","ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.155.3 to 6.168.3.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7fabb948190bcf220ae577f0b9a9826fd1d5c7a3\"\u003e\u003ccode\u003e7fabb94\u003c/code\u003e\u003c/a\u003e Add RELEASE.rst and AUTHORS.rst changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0ab4e3883e68bf27011e393c6bed498eea50ed81\"\u003e\u003ccode\u003e0ab4e38\u003c/code\u003e\u003c/a\u003e Summarize statistics events in linear time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/32ebeb29374b1b2274e42eea2ae703a6cdcdc4ec\"\u003e\u003ccode\u003e32ebeb2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ff7e800971bacfabe4f498bc883c3fafc16c797f\"\u003e\u003ccode\u003eff7e800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4886\"\u003e#4886\u003c/a\u003e from pschanely/atomic-constants-cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e57fd12bc0c4242bedf4163497542b2a9aee00f3\"\u003e\u003ccode\u003ee57fd12\u003c/code\u003e\u003c/a\u003e Isolate the constants cache test from existing cache files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c8981a0f1d0b84a5bd5ede0f7ae1aef768715177\"\u003e\u003ccode\u003ec8981a0\u003c/code\u003e\u003c/a\u003e Write the local constants cache atomically\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9c55f97e507eae21677457e84737b386fd06e271\"\u003e\u003ccode\u003e9c55f97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4877\"\u003e#4877\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.155.3...v6.168.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=hypothesis\u0026package-manager=pip\u0026previous-version=6.155.3\u0026new-version=6.168.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/demogxp-mig4/cpython/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/demogxp-mig4%2Fcpython/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"5860208807","node_id":"PR_kwDORgfIwM8AAAABIixIDw","number":224,"state":"open","title":"build(deps): bump the other group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["aisecnomad"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-15T04:41:42.000Z","updated_at":"2026-10-15T04:51:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"other","update_count":6,"packages":[{"name":"hypothesis","old_version":"6.168.5","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"filelock","old_version":"4.0.12","new_version":"4.1.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"platformdirs","old_version":"4.12.4","new_version":"4.13.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"python-discovery","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"virtualenv","old_version":"21.14.6","new_version":"21.14.7","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [hypothesis](https://github.com/HypothesisWorks/hypothesis), [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings), [filelock](https://github.com/tox-dev/py-filelock), [platformdirs](https://github.com/tox-dev/platformdirs), [python-discovery](https://github.com/tox-dev/python-discovery) and [virtualenv](https://github.com/pypa/virtualenv) to permit the latest version.\nUpdates `hypothesis` from 6.168.5 to 6.169.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2416a79271cf101c0290a583392d2429765012a5\"\u003e\u003ccode\u003e2416a79\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into plait/worktop-270d0237\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4c5a08fb84f76b2ef7da80730aef30c96ae45ee\"\u003e\u003ccode\u003eb4c5a08\u003c/code\u003e\u003c/a\u003e claude: drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.5...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings` to 1.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases\"\u003emkdocstrings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.7\"\u003e1.0.7\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.6...1.0.7\"\u003eCompare with 1.0.6\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.10 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/2c2cbb19d0fdab8554f93fe2fb1568ffba8c0f5d\"\u003e2c2cbb1\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pymdownx 12.2 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/ff510f27eb514dd2e46fa213365475d6fa0c4c9e\"\u003eff510f2\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/829\"\u003eIssue-829\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/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md\"\u003emkdocstrings's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.7\"\u003e1.0.7\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.6...1.0.7\"\u003eCompare with 1.0.6\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.10 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/2c2cbb19d0fdab8554f93fe2fb1568ffba8c0f5d\"\u003e2c2cbb1\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pymdownx 12.2 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/ff510f27eb514dd2e46fa213365475d6fa0c4c9e\"\u003eff510f2\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/829\"\u003eIssue-829\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.6\"\u003e1.0.6\u003c/a\u003e - 2026-07-11\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.5...1.0.6\"\u003eCompare with 1.0.5\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop propagating Zensical's \u003ccode\u003ezrelpath\u003c/code\u003e treeprocessor and its \u003ccode\u003epreview\u003c/code\u003e extension (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/473279816aff4cc8ee3215fdf8b2d186517fc63d\"\u003e4732798\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/818\"\u003eIssue-zensical-818\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.5\"\u003e1.0.5\u003c/a\u003e - 2026-07-10\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.4...1.0.5\"\u003eCompare with 1.0.4\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eParse inventory project and version (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/acc0da32d11428ea9c60f8e50f90df329f2e6460\"\u003eacc0da3\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.4\"\u003e1.0.4\u003c/a\u003e - 2026-04-15\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.3...1.0.4\"\u003eCompare with 1.0.3\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd timeout when downloading inventories (10 seconds) (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/3d1969a279ea396792c682810d029503e48d8fcd\"\u003e3d1969a\u003c/a\u003e by Simon Lloyd). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/819\"\u003eIssue-819\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.3\"\u003e1.0.3\u003c/a\u003e - 2026-02-07\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.2...1.0.3\"\u003eCompare with 1.0.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward extension instances directly passed from Zensical (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/65b27ec8d1d671eddf021e48b0114cc3f8aca14a\"\u003e65b27ec\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003ePropagate Zensical's \u003ccode\u003ezrelpath\u003c/code\u003e processor (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/dbf263dfdd2fdd769d66fa62bdd388e05988bc78\"\u003edbf263d\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.2\"\u003e1.0.2\u003c/a\u003e - 2026-01-24\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.1...1.0.2\"\u003eCompare with 1.0.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\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/mkdocstrings/mkdocstrings/commit/79eefbc4543915daafd936437e285907111aaf13\"\u003e\u003ccode\u003e79eefbc\u003c/code\u003e\u003c/a\u003e chore: Prepare release 1.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/2c2cbb19d0fdab8554f93fe2fb1568ffba8c0f5d\"\u003e\u003ccode\u003e2c2cbb1\u003c/code\u003e\u003c/a\u003e build: Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/7275d141ec2d1e578ce982cc7963c0144d2fae80\"\u003e\u003ccode\u003e7275d14\u003c/code\u003e\u003c/a\u003e chore: Lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/ff510f27eb514dd2e46fa213365475d6fa0c4c9e\"\u003e\u003ccode\u003eff510f2\u003c/code\u003e\u003c/a\u003e fix: Support pymdownx 12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/8b635eb92d09978231b89a4d24a1b73353489029\"\u003e\u003ccode\u003e8b635eb\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/e0cf0ed66ad0e134a00e49cdeb4576b161624011\"\u003e\u003ccode\u003ee0cf0ed\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/fa50fef2bf25b1aa7e11d99f8730daf64f32cdcf\"\u003e\u003ccode\u003efa50fef\u003c/code\u003e\u003c/a\u003e test: Fix tests for new Pygments version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/e37de4ea38ff4e4bb10f5d5b216edd23309ed5f8\"\u003e\u003ccode\u003ee37de4e\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/0cb9404c6d470fccbed1dffa72b8407789df974d\"\u003e\u003ccode\u003e0cb9404\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/b18d7d58eea7e67377a449d5fed0b2dcc1ed4954\"\u003e\u003ccode\u003eb18d7d5\u003c/code\u003e\u003c/a\u003e docs: Add note about Zensical and gen-files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.6...1.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 4.0.12 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(python): default to Python 3.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/filelock/pull/816\"\u003etox-dev/filelock#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rw): avoid macOS descriptor lookups 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/filelock/pull/820\"\u003etox-dev/filelock#820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(tests): bound concurrent lock progress 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/filelock/pull/819\"\u003etox-dev/filelock#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: make lock error checks deterministic by \u003ca href=\"https://github.com/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read-write): reject a hostile pid in _owner_is_gone by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/821\"\u003etox-dev/filelock#821\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/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\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/filelock/compare/4.1.0...4.1.1\"\u003ehttps://github.com/tox-dev/filelock/compare/4.1.0...4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: download coverage during tool setup 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/filelock/pull/776\"\u003etox-dev/filelock#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): validate timeout and poll_interval bounds 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/filelock/pull/781\"\u003etox-dev/filelock#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): accept inf and reject nan timeouts by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/779\"\u003etox-dev/filelock#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): ignore non-ASCII generation names by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/778\"\u003etox-dev/filelock#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): check start token in is_lock_held_by_us by \u003ca href=\"https://github.com/lprnmns\"\u003e\u003ccode\u003e@​lprnmns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/774\"\u003etox-dev/filelock#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): clean up marker when rollback close fails by \u003ca href=\"https://github.com/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/775\"\u003etox-dev/filelock#775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): clamp waits to threading.TIMEOUT_MAX by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/780\"\u003etox-dev/filelock#780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): treat truncated markers as malformed 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/filelock/pull/782\"\u003etox-dev/filelock#782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(acquire): keep every acquire wait within the timeout by \u003ca href=\"https://github.com/feiiiiii5\"\u003e\u003ccode\u003e@​feiiiiii5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/777\"\u003etox-dev/filelock#777\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: fix hanging example and platform claims 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/filelock/pull/783\"\u003etox-dev/filelock#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): keep peer marker on ENOSYS fallback 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/filelock/pull/785\"\u003etox-dev/filelock#785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): clear the task hold after a canceled release 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/filelock/pull/789\"\u003etox-dev/filelock#789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): export lease types and has_fcntl 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/filelock/pull/790\"\u003etox-dev/filelock#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): age private records by the filesystem clock 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/filelock/pull/792\"\u003etox-dev/filelock#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): surface executor shutdown as an error 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/filelock/pull/793\"\u003etox-dev/filelock#793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): expire leases on the contender's clock 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/filelock/pull/796\"\u003etox-dev/filelock#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): stop an acquire that close() overtook 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/filelock/pull/798\"\u003etox-dev/filelock#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): record claims before linking them 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/filelock/pull/787\"\u003etox-dev/filelock#787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): restore a live marker a stale break moved aside 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/filelock/pull/786\"\u003etox-dev/filelock#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): chain errors on 3.10 without exceptiongroup 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/filelock/pull/788\"\u003etox-dev/filelock#788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): release a dropped SoftFileLease 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/filelock/pull/791\"\u003etox-dev/filelock#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): keep probe fds until the last connection closes 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/filelock/pull/794\"\u003etox-dev/filelock#794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📦 build(sdist): ship docs and update SECURITY.md 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/filelock/pull/812\"\u003etox-dev/filelock#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): survive a removed generation log 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/filelock/pull/795\"\u003etox-dev/filelock#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): tell PID namespaces apart in the marker host 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/filelock/pull/797\"\u003etox-dev/filelock#797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): release from the finalizer and keep I/O off the loop 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/filelock/pull/800\"\u003etox-dev/filelock#800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): name what blocks the lock path 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/filelock/pull/804\"\u003etox-dev/filelock#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): reject WAL databases and link beside the db 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/filelock/pull/805\"\u003etox-dev/filelock#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): track read depth per thread 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/filelock/pull/806\"\u003etox-dev/filelock#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): honour mode and tighten marker grammar 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/filelock/pull/807\"\u003etox-dev/filelock#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test: drop timing races from two runner-load flakes 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/filelock/pull/809\"\u003etox-dev/filelock#809\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/tox-dev/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.2.0 (2026-10-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eimport filelock\u003c/code\u003e is about twice as fast: lock types other than :class:\u003ccode\u003e~filelock.FileLock\u003c/code\u003e load on first use. :pr:\u003ccode\u003e831\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix :class:\u003ccode\u003e~filelock.StrictSoftFileLock\u003c/code\u003e raising :class:\u003ccode\u003e~filelock.SoftFileLockProtocolError\u003c/code\u003e on Windows when a\ncontender read a claim whose owner was still finishing its unlink. :pr:\u003ccode\u003e829\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.2 (2026-10-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix read-lock acquisition on SQLite versions older than 3.33.0 by using \u003ccode\u003esqlite_master\u003c/code\u003e for the schema probe. :pr:\u003ccode\u003e770\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eIsADirectoryError\u003c/code\u003e (or \u003ccode\u003ePermissionError\u003c/code\u003e on Windows) for a directory lock path regardless of its write\npermissions. :pr:\u003ccode\u003e822\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a forked child hanging at exit on PyPy when the parent forked while an\n:class:\u003ccode\u003e~filelock.AsyncReadWriteLock\u003c/code\u003e worker thread was between two operations. :pr:\u003ccode\u003e828\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHash all cache keys in the lock filename recipe so short path-like keys stay in the chosen directory. The example also\naccepts path-derived surrogate escapes and works before the cache directory exists. :pr:\u003ccode\u003e824\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.1 (2026-10-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eBound the shared-lock contention test by worker progress so slow CI machines can finish the workload. :pr:\u003ccode\u003e819\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid the macOS \u003ccode\u003e/dev/fd\u003c/code\u003e lookup implicated in a kernel panic by opening SQLite through a validated hard link.\nThe database directory must be writable and support hard links; alias creation failure raises \u003ccode\u003eOSError\u003c/code\u003e. :pr:\u003ccode\u003e820\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIgnore non-ASCII PID or start-time fields and out-of-range PIDs in \u003ccode\u003eReadWriteLock\u003c/code\u003e hard-link directory names so forged\nowners cannot abort acquisition. :pr:\u003ccode\u003e821\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e816\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.0 (2026-10-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eImport :data:\u003ccode\u003e~filelock.OwnerMode\u003c/code\u003e, :data:\u003ccode\u003e~filelock.CompromiseReason\u003c/code\u003e and :data:\u003ccode\u003e~filelock.has_fcntl\u003c/code\u003e from\n\u003ccode\u003efilelock\u003c/code\u003e. :pr:\u003ccode\u003e790\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.AcquireReturnProxy\u003c/code\u003e is generic in the lock type, so \u003ccode\u003ewith lock.acquire() as held:\u003c/code\u003e types \u003ccode\u003eheld\u003c/code\u003e as\nthe lock's own class. :pr:\u003ccode\u003e803\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA :class:\u003ccode\u003e~filelock.Timeout\u003c/code\u003e from a soft lock names a holder on another host or in another PID namespace, which no\ncontender ever reclaims. :pr:\u003ccode\u003e815\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003e~filelock.SoftFileLock.is_lock_held_by_us\u003c/code\u003e and :attr:\u003ccode\u003e~filelock.MarkerSoftFileLock.is_lock_held_by_us\u003c/code\u003e return\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/tox-dev/filelock/commit/5830a7e2c39d387ae5320bb3be1fbb2aa7742d4a\"\u003e\u003ccode\u003e5830a7e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a5fb607a8655035bb6d5ae4326637e25cf1af849\"\u003e\u003ccode\u003ea5fb607\u003c/code\u003e\u003c/a\u003e fix(read-write): reject a hostile pid in _owner_is_gone (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/821\"\u003e#821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/4c6f32f2797b2883bbcb0cca1ee81211d3e09c12\"\u003e\u003ccode\u003e4c6f32f\u003c/code\u003e\u003c/a\u003e test: make lock error checks deterministic (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f11f52357425943a6dbffd36ea1112726255f970\"\u003e\u003ccode\u003ef11f523\u003c/code\u003e\u003c/a\u003e fix(tests): bound concurrent lock progress (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5fd0c8f2e6a778da1933204e4a95bd84db9cdd43\"\u003e\u003ccode\u003e5fd0c8f\u003c/code\u003e\u003c/a\u003e fix(rw): avoid macOS descriptor lookups (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c3aaabc75ca927b2530b7264a04b965d64acf55\"\u003e\u003ccode\u003e0c3aaab\u003c/code\u003e\u003c/a\u003e feat(python): default to Python 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6c0ecc28f898f08cd0438cd489c3eaabad79a4b7\"\u003e\u003ccode\u003e6c0ecc2\u003c/code\u003e\u003c/a\u003e Release 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df06bbd640765ad3f1ed4a096cbe29e64b5592bb\"\u003e\u003ccode\u003edf06bbd\u003c/code\u003e\u003c/a\u003e 🐛 fix: close regressions since 4.0.12 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/815\"\u003e#815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/071204515d211b560d203cb68105ec06789eab46\"\u003e\u003ccode\u003e0712045\u003c/code\u003e\u003c/a\u003e 🐛 fix(read-write): refuse a database moved mid-acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/73fefc1e907457dd9bc9793eeba52f183d7f9c40\"\u003e\u003ccode\u003e73fefc1\u003c/code\u003e\u003c/a\u003e 📝 docs: point canonical and og:url at versioned pages (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/813\"\u003e#813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/4.0.12...4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `platformdirs` from 4.12.4 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/platformdirs/releases\"\u003eplatformdirs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: recognize Homebrew Cellar framework prefixes by \u003ca href=\"https://github.com/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): require 3.11 and default to 3.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/platformdirs/pull/613\"\u003etox-dev/platformdirs#613\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/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\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/platformdirs/compare/4.12.4...4.13.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.4...4.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/tox-dev/platformdirs/blob/main/docs/changelog.rst\"\u003eplatformdirs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.13.0 (2026-10-10)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eDetect Homebrew Python for the :class:\u003ccode\u003e~platformdirs.macos.MacOS\u003c/code\u003e site directories under :option:\u003ccode\u003epython:-S\u003c/code\u003e, which\nleaves :data:\u003ccode\u003esys.base_prefix\u003c/code\u003e on the \u003ccode\u003eCellar\u003c/code\u003e keg, and for the \u003ccode\u003epython-freethreading\u003c/code\u003e formula - by\n:user:\u003ccode\u003esricharanreddycheruku\u003c/code\u003e. :pr:\u003ccode\u003e612\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e613\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.4 (2026-10-07)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep site directories readable by other users when root calls\n:meth:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.place_config_file\u003c/code\u003e or another \u003ccode\u003eplace_*_file\u003c/code\u003e method with\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.use_site_for_root\u003c/code\u003e - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. :pr:\u003ccode\u003e610\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake :func:\u003ccode\u003e~platformdirs.user_runtime_dir\u003c/code\u003e warn and fall back from an unreachable \u003ccode\u003eXDG_RUNTIME_DIR\u003c/code\u003e under\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.ensure_exists\u003c/code\u003e instead of raising. :pr:\u003ccode\u003e611\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.3 (2026-10-03)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003ePlace files from \u003ccode\u003eplace_config_file\u003c/code\u003e and \u003ccode\u003eplace_data_file\u003c/code\u003e in the first site directory for root on Unix with\n\u003ccode\u003euse_site_for_root=True\u003c/code\u003e and \u003ccode\u003emultipath=True\u003c/code\u003e, where \u003ccode\u003efind_config_file\u003c/code\u003e and \u003ccode\u003efind_data_file\u003c/code\u003e look for them.\n:pr:\u003ccode\u003e607\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.2 (2026-09-29)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep \u003ccode\u003eos.pathsep\u003c/code\u003e in \u003ccode\u003esite_applications_path\u003c/code\u003e under \u003ccode\u003emultipath=True\u003c/code\u003e on platforms with one applications\ndirectory. :pr:\u003ccode\u003e604\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.1 (2026-09-28)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003ePytestAssertRewriteWarning\u003c/code\u003e when importing \u003ccode\u003eplatformdirs\u003c/code\u003e before invoking pytest. :pr:\u003ccode\u003e601\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.0 (2026-09-26)\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/tox-dev/platformdirs/commit/f05fb4ef31f38dfc316802c5301db972fd75468e\"\u003e\u003ccode\u003ef05fb4e\u003c/code\u003e\u003c/a\u003e Release 4.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/b3174fdd4e80c83d72cf723fd2a7bb6cb54cbd5f\"\u003e\u003ccode\u003eb3174fd\u003c/code\u003e\u003c/a\u003e feat(python): require 3.11 and default to 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/d7eb4fe34231df80a6b1c7abc362aa504feddbf1\"\u003e\u003ccode\u003ed7eb4fe\u003c/code\u003e\u003c/a\u003e fix: recognize Homebrew Cellar framework prefixes (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/platformdirs/compare/4.12.4...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-discovery` from 1.6.1 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/releases\"\u003epython-discovery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ignore broken sphinx-llm release 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/python-discovery/pull/134\"\u003etox-dev/python-discovery#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e👷 ci: pin ubuntu-26.04 and bump dependencies 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/python-discovery/pull/138\"\u003etox-dev/python-discovery#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run old Python checks in parallel 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/python-discovery/pull/140\"\u003etox-dev/python-discovery#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): default to 3.15 and match virtualenv 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/python-discovery/pull/142\"\u003etox-dev/python-discovery#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cache): discard unusable interpreter cache entries by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(query): validate PY_DISCOVERY_TIMEOUT by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/143\"\u003etox-dev/python-discovery#143\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/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\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/python-discovery/compare/1.6.1...1.6.2\"\u003ehttps://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/blob/main/docs/changelog.rst\"\u003epython-discovery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBug fixes - 1.6.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDiscard malformed interpreter cache entries and query the interpreter again, including entries with missing,\nnon-string or unusable \u003ccode\u003esystem_executable\u003c/code\u003e paths - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse the default interpreter query timeout and warn for invalid \u003ccode\u003ePY_DISCOVERY_TIMEOUT\u003c/code\u003e values. Accept \u003ccode\u003einf\u003c/code\u003e\nor values above the subprocess wait limit to disable the timeout - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e143\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev1.6.1 (2026-09-18)\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/python-discovery/commit/4fe2ade736e5191de42ca3d4a0b8bf672ffc5652\"\u003e\u003ccode\u003e4fe2ade\u003c/code\u003e\u003c/a\u003e release 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/60ddef109aafdd6d54aa25c8057a569c76e3dba2\"\u003e\u003ccode\u003e60ddef1\u003c/code\u003e\u003c/a\u003e fix(query): validate PY_DISCOVERY_TIMEOUT (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/eb1eab726924245c533ad867d1b4bcc4c47b6d2a\"\u003e\u003ccode\u003eeb1eab7\u003c/code\u003e\u003c/a\u003e fix(cache): discard unusable interpreter cache entries (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/db810b8206339892c0cd15f000b8e18860a8b913\"\u003e\u003ccode\u003edb810b8\u003c/code\u003e\u003c/a\u003e feat(python): default to 3.15 and match virtualenv (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/142\"\u003e#142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/614afa4adaa5fb36daf38919e3c407af71f3260b\"\u003e\u003ccode\u003e614afa4\u003c/code\u003e\u003c/a\u003e ci: run old Python checks in parallel (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/9148aa454b276b5745d56bb2a42bdc8f26ee7f55\"\u003e\u003ccode\u003e9148aa4\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/a69c0d9139ff0f1276d318d75d25d59cbc172bf4\"\u003e\u003ccode\u003ea69c0d9\u003c/code\u003e\u003c/a\u003e 👷 ci: pin ubuntu-26.04 and bump dependencies (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/138\"\u003e#138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/c8fcbf599ac401c8b1ad793187b28e45ccd1ffc8\"\u003e\u003ccode\u003ec8fcbf5\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/f0b3a2030c57a4f9217cd6ab09f837123ad0bc17\"\u003e\u003ccode\u003ef0b3a20\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/b4eea32e584c0c1f08c9ad4b9f5850cb8c2275da\"\u003e\u003ccode\u003eb4eea32\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.0.1 to 10.1.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `virtualenv` from 21.14.6 to 21.14.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/virtualenv/releases\"\u003evirtualenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.14.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade embedded pip/setuptools/wheel and CI test tools by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3385\"\u003epypa/virtualenv#3385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test(seed): verify periodic update scheduling by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3384\"\u003epypa/virtualenv#3384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): default to Python 3.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/pypa/virtualenv/pull/3386\"\u003epypa/virtualenv#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 chore: enroll in Anthropic OSS Scanner by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3387\"\u003epypa/virtualenv#3387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test(util): skip safe_delete permission tests as root by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3389\"\u003epypa/virtualenv#3389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(security): add an email reporting contact by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3388\"\u003epypa/virtualenv#3388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(activation): escape the bash prompt for both PS1 passes by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3390\"\u003epypa/virtualenv#3390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test(activation): undo both bash prompt passes on bash \u0026lt; 4.4 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3392\"\u003epypa/virtualenv#3392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 build(release): bump pydantic for 3.15 wheels by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3391\"\u003epypa/virtualenv#3391\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.6...21.14.7\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.6...21.14.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst\"\u003evirtualenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBugfixes - 21.14.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eEscape the environment name in the bash activator for both of bash's \u003ccode\u003ePS1\u003c/code\u003e passes, so a name or \u003ccode\u003e--prompt\u003c/code\u003e value\nwith a backslash before \u003ccode\u003e$(...)\u003c/code\u003e or backticks no longer runs as a command each time bash draws the prompt - by\n:user:\u003ccode\u003egaborbernat\u003c/code\u003e. (:issue:\u003ccode\u003e3390\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.6 (2026-10-08)\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/pypa/virtualenv/commit/a857a7823c73c35935d0318b4f36e5d582691e1c\"\u003e\u003ccode\u003ea857a78\u003c/code\u003e\u003c/a\u003e release 21.14.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/4004d884fa22a4fe30fd9f1d8336eec52a796730\"\u003e\u003ccode\u003e4004d88\u003c/code\u003e\u003c/a\u003e 🔧 build(release): bump pydantic for 3.15 wheels (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3391\"\u003e#3391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/212f69fb905371aed4d67fcb2ac194492f417d5b\"\u003e\u003ccode\u003e212f69f\u003c/code\u003e\u003c/a\u003e 🧪 test(activation): undo both bash prompt passes on bash \u0026lt; 4.4 (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3392\"\u003e#3392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/c3104e02474b652832a9bbaae79f6e1696296932\"\u003e\u003ccode\u003ec3104e0\u003c/code\u003e\u003c/a\u003e 🐛 fix(activation): escape the bash prompt for both PS1 passes (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3390\"\u003e#3390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/f29efc45c063e08e02527d211c41b24a3eefe0d3\"\u003e\u003ccode\u003ef29efc4\u003c/code\u003e\u003c/a\u003e 📝 docs(security): add an email reporting contact (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3388\"\u003e#3388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/c26cc297e2291f76a72a925fa83100f827c5c8eb\"\u003e\u003ccode\u003ec26cc29\u003c/code\u003e\u003c/a\u003e 🧪 test(util): skip safe_delete permission tests as root (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3389\"\u003e#3389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/8b21c36b4c56bd3bea41171fa513289c503efd97\"\u003e\u003ccode\u003e8b21c36\u003c/code\u003e\u003c/a\u003e 🔧 chore: enroll in Anthropic OSS Scanner (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/bf09c7eb62246c19c2cfd0a179c5edcc14801397\"\u003e\u003ccode\u003ebf09c7e\u003c/code\u003e\u003c/a\u003e feat(python): default to Python 3.15 (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3386\"\u003e#3386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/3f077928210afa4ec2cca456f4c587460b40bfc5\"\u003e\u003ccode\u003e3f07792\u003c/code\u003e\u003c/a\u003e 🧪 test(seed): verify periodic update scheduling (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3384\"\u003e#3384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/7614b02375239b36090a53ce0f52a7086fbb6766\"\u003e\u003ccode\u003e7614b02\u003c/code\u003e\u003c/a\u003e Upgrade embedded pip/setuptools/wheel and CI test tools (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3385\"\u003e#3385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.6...21.14.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/aisecnomad/Nexus-ShadowScan/pull/224","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aisecnomad%2FNexus-ShadowScan/issues/224","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/224/packages"},{"uuid":"5857478210","node_id":"PR_kwDOTOzUas8AAAABIgoFRQ","number":38,"state":"closed","title":"ci: bump the minor-and-patch group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-14T23:58:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T23:43:40.000Z","updated_at":"2026-10-14T23:58:32.000Z","time_to_close":890,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"ci: bump","group_name":"minor-and-patch","update_count":2,"packages":[{"name":"hypothesis","old_version":"6.155.7","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"mkdocs-material","old_version":"9.7.6","new_version":"9.7.7","repository_url":"https://github.com/squidfunk/mkdocs-material"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 2 updates in the / directory: [hypothesis](https://github.com/HypothesisWorks/hypothesis) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).\n\nUpdates `hypothesis` from 6.155.7 to 6.169.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.155.7...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.6 to 9.7.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.7\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is approaching end of life\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eMaterial for MkDocs is scheduled to reach end of life on November 5, 2026. Until then, maintenance is limited to critical bug fixes and security updates. After this date, the project will remain available on PyPI and GitHub, but no further maintenance is planned except in exceptional circumstances.\u003c/p\u003e\n\u003cp\u003eFor users looking for a long-term, actively developed successor, we're building \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e – a next-generation static site generator designed for technical documentation. If you're planning a new documentation project or evaluating your long-term options, we invite you to take a look.\u003c/p\u003e\n\u003cp\u003eOrganizations requiring support beyond this date are welcome to get in touch to discuss available options.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a DOM-based XSS vulnerability in search suggestions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/p\"\u003e\u003ccode\u003e@​p\u003c/code\u003e\u003c/a\u003e- for responsibly reporting this issue.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.7 (2026-07-17)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed DOM-based XSS vulnerability in search suggestions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.6 (2026-03-19)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.5 (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.4 (2026-03-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b3e6dd886a974aa8200759ecfd7db28c598a2894\"\u003e\u003ccode\u003eb3e6dd8\u003c/code\u003e\u003c/a\u003e Prepare 9.7.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/52fb6be8aafe326419f34dc94d3211e7bbfbfb25\"\u003e\u003ccode\u003e52fb6be\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/901e6335cc80b0f12e46a1e34bd85e983dd78a6e\"\u003e\u003ccode\u003e901e633\u003c/code\u003e\u003c/a\u003e Added \u003ccode\u003eSECURITY.md\u003c/code\u003e with EOL notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/5b36f2ac499a45905e246bc66bbee2858ef6556f\"\u003e\u003ccode\u003e5b36f2a\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8598\"\u003e#8598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/2d11e7bc92c59b86d6ac0da2e38044fb4befa6e0\"\u003e\u003ccode\u003e2d11e7b\u003c/code\u003e\u003c/a\u003e Bump form-data from 3.0.4 to 3.0.5 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8597\"\u003e#8597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/ae05a534a8c8e1c58eb6aa55d460d309bcfce22b\"\u003e\u003ccode\u003eae05a53\u003c/code\u003e\u003c/a\u003e Bump esbuild from 0.27.2 to 0.28.1 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8596\"\u003e#8596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/434af93166e5b90b78bba1295ca5a140fc67d0bc\"\u003e\u003ccode\u003e434af93\u003c/code\u003e\u003c/a\u003e Bump shell-quote from 1.7.3 to 1.8.4 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8593\"\u003e#8593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/4447cdadcbe8bc82570e9f1ae2b970f461b03b68\"\u003e\u003ccode\u003e4447cda\u003c/code\u003e\u003c/a\u003e Documentation (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8590\"\u003e#8590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/8f8d551c9c5296dfc2a5ede35047bfb491d66bc9\"\u003e\u003ccode\u003e8f8d551\u003c/code\u003e\u003c/a\u003e Updated copyright year (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8588\"\u003e#8588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/08d8514d491782b4ac46673bcfdedb2f6fc85f3d\"\u003e\u003ccode\u003e08d8514\u003c/code\u003e\u003c/a\u003e Bump fast-uri from 3.0.3 to 3.1.2 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.6...9.7.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/gl-pgege/kaboo-workflows/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gl-pgege%2Fkaboo-workflows/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"5856473021","node_id":"PR_kwDOAP4Zb88AAAABIf1EVA","number":92,"state":"closed","title":"Update hypothesis requirement from \u003e=6.163.0 to \u003e=6.169.0 in /extra","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T21:23:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T22:06:12.000Z","updated_at":"2026-10-19T21:23:18.000Z","time_to_close":429425,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"hypothesis","old_version":"\u003e=6.163.0","new_version":"\u003e=6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":"/extra","ecosystem":"pip"},"body":"Updates the requirements on [hypothesis](https://github.com/HypothesisWorks/hypothesis) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.163.0...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/JNRowe/jnrbase/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JNRowe%2Fjnrbase/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"},{"uuid":"5854493070","node_id":"PR_kwDORehi6c8AAAABIePLdA","number":539,"state":"closed","title":"chore(deps): bump hypothesis from 6.168.3 to 6.169.0","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-14T19:47:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T19:45:01.000Z","updated_at":"2026-10-14T19:47:10.000Z","time_to_close":120,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"hypothesis","old_version":"6.168.3","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.168.3 to 6.169.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.169.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=hypothesis\u0026package-manager=uv\u0026previous-version=6.168.3\u0026new-version=6.169.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/Veldkornet/hyxi-cloud-api/pull/539","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Veldkornet%2Fhyxi-cloud-api/issues/539","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/539/packages"},{"uuid":"5853811782","node_id":"PR_kwDORgfIwM8AAAABIdr8lQ","number":223,"state":"closed","title":"build(deps): bump the other group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["aisecnomad"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-15T04:41:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T18:59:03.000Z","updated_at":"2026-10-15T04:41:15.000Z","time_to_close":34930,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"other","update_count":10,"packages":[{"name":"hypothesis","old_version":"6.168.3","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ast-serialize","old_version":"0.11.2","new_version":"0.12.1","repository_url":"https://github.com/mypyc/ast_serialize"},{"name":"filelock","old_version":"4.0.9","new_version":"4.1.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"iniconfig","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"platformdirs","old_version":"4.12.2","new_version":"4.13.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"python-discovery","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"rpds-py","old_version":"2026.6.3","new_version":"2026.9.1","repository_url":"https://github.com/crate-py/rpds"},{"name":"tomli","old_version":"2.4.1","new_version":"2.5.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"types-requests","old_version":"2.33.0.20260906","new_version":"2.33.0.20261006","repository_url":"https://github.com/python/typeshed"},{"name":"virtualenv","old_version":"21.14.3","new_version":"21.14.6","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the other group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.3` | `6.169.0` |\n| [ast-serialize](https://github.com/mypyc/ast_serialize) | `0.11.2` | `0.12.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `4.0.9` | `4.1.1` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.3.0` | `2.3.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.12.2` | `4.13.0` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.6.1` | `1.6.2` |\n| [rpds-py](https://github.com/crate-py/rpds) | `2026.6.3` | `2026.9.1` |\n| [tomli](https://github.com/hukkin/tomli) | `2.4.1` | `2.5.0` |\n| [types-requests](https://github.com/python/typeshed) | `2.33.0.20260906` | `2.33.0.20261006` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.14.3` | `21.14.6` |\n\n\nUpdates `hypothesis` from 6.168.3 to 6.169.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ast-serialize` from 0.11.2 to 0.12.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/8d0a5c6d1c87e29aa37c7292149086b514ccac93\"\u003e\u003ccode\u003e8d0a5c6\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/a7f11b17731c0c3b9afc683e977e3faf90ba6c19\"\u003e\u003ccode\u003ea7f11b1\u003c/code\u003e\u003c/a\u003e Fix parsing plain None type in a string (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/bcf707f0d2c59a8033d2d8734849b2233f36f70d\"\u003e\u003ccode\u003ebcf707f\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/89b6e832250fbc4d80739b318237f9571d6c32cc\"\u003e\u003ccode\u003e89b6e83\u003c/code\u003e\u003c/a\u003e Allow colon in error codes (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/94\"\u003e#94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mypyc/ast_serialize/compare/v0.11.2...v0.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 4.0.9 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(python): default to Python 3.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/filelock/pull/816\"\u003etox-dev/filelock#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rw): avoid macOS descriptor lookups 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/filelock/pull/820\"\u003etox-dev/filelock#820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(tests): bound concurrent lock progress 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/filelock/pull/819\"\u003etox-dev/filelock#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: make lock error checks deterministic by \u003ca href=\"https://github.com/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read-write): reject a hostile pid in _owner_is_gone by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/821\"\u003etox-dev/filelock#821\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/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\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/filelock/compare/4.1.0...4.1.1\"\u003ehttps://github.com/tox-dev/filelock/compare/4.1.0...4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: download coverage during tool setup 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/filelock/pull/776\"\u003etox-dev/filelock#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): validate timeout and poll_interval bounds 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/filelock/pull/781\"\u003etox-dev/filelock#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): accept inf and reject nan timeouts by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/779\"\u003etox-dev/filelock#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): ignore non-ASCII generation names by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/778\"\u003etox-dev/filelock#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): check start token in is_lock_held_by_us by \u003ca href=\"https://github.com/lprnmns\"\u003e\u003ccode\u003e@​lprnmns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/774\"\u003etox-dev/filelock#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): clean up marker when rollback close fails by \u003ca href=\"https://github.com/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/775\"\u003etox-dev/filelock#775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): clamp waits to threading.TIMEOUT_MAX by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/780\"\u003etox-dev/filelock#780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): treat truncated markers as malformed 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/filelock/pull/782\"\u003etox-dev/filelock#782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(acquire): keep every acquire wait within the timeout by \u003ca href=\"https://github.com/feiiiiii5\"\u003e\u003ccode\u003e@​feiiiiii5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/777\"\u003etox-dev/filelock#777\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: fix hanging example and platform claims 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/filelock/pull/783\"\u003etox-dev/filelock#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): keep peer marker on ENOSYS fallback 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/filelock/pull/785\"\u003etox-dev/filelock#785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): clear the task hold after a canceled release 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/filelock/pull/789\"\u003etox-dev/filelock#789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): export lease types and has_fcntl 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/filelock/pull/790\"\u003etox-dev/filelock#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): age private records by the filesystem clock 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/filelock/pull/792\"\u003etox-dev/filelock#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): surface executor shutdown as an error 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/filelock/pull/793\"\u003etox-dev/filelock#793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): expire leases on the contender's clock 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/filelock/pull/796\"\u003etox-dev/filelock#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): stop an acquire that close() overtook 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/filelock/pull/798\"\u003etox-dev/filelock#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): record claims before linking them 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/filelock/pull/787\"\u003etox-dev/filelock#787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): restore a live marker a stale break moved aside 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/filelock/pull/786\"\u003etox-dev/filelock#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): chain errors on 3.10 without exceptiongroup 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/filelock/pull/788\"\u003etox-dev/filelock#788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): release a dropped SoftFileLease 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/filelock/pull/791\"\u003etox-dev/filelock#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): keep probe fds until the last connection closes 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/filelock/pull/794\"\u003etox-dev/filelock#794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📦 build(sdist): ship docs and update SECURITY.md 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/filelock/pull/812\"\u003etox-dev/filelock#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): survive a removed generation log 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/filelock/pull/795\"\u003etox-dev/filelock#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): tell PID namespaces apart in the marker host 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/filelock/pull/797\"\u003etox-dev/filelock#797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): release from the finalizer and keep I/O off the loop 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/filelock/pull/800\"\u003etox-dev/filelock#800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): name what blocks the lock path 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/filelock/pull/804\"\u003etox-dev/filelock#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): reject WAL databases and link beside the db 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/filelock/pull/805\"\u003etox-dev/filelock#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): track read depth per thread 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/filelock/pull/806\"\u003etox-dev/filelock#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): honour mode and tighten marker grammar 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/filelock/pull/807\"\u003etox-dev/filelock#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test: drop timing races from two runner-load flakes 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/filelock/pull/809\"\u003etox-dev/filelock#809\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/tox-dev/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.2 (2026-10-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix read-lock acquisition on SQLite versions older than 3.33.0 by using \u003ccode\u003esqlite_master\u003c/code\u003e for the schema probe. :pr:\u003ccode\u003e770\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eIsADirectoryError\u003c/code\u003e (or \u003ccode\u003ePermissionError\u003c/code\u003e on Windows) for a directory lock path regardless of its write\npermissions. :pr:\u003ccode\u003e822\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a forked child hanging at exit on PyPy when the parent forked while an\n:class:\u003ccode\u003e~filelock.AsyncReadWriteLock\u003c/code\u003e worker thread was between two operations. :pr:\u003ccode\u003e828\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHash all cache keys in the lock filename recipe so short path-like keys stay in the chosen directory. The example also\naccepts path-derived surrogate escapes and works before the cache directory exists. :pr:\u003ccode\u003e824\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.1 (2026-10-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eBound the shared-lock contention test by worker progress so slow CI machines can finish the workload. :pr:\u003ccode\u003e819\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid the macOS \u003ccode\u003e/dev/fd\u003c/code\u003e lookup implicated in a kernel panic by opening SQLite through a validated hard link.\nThe database directory must be writable and support hard links; alias creation failure raises \u003ccode\u003eOSError\u003c/code\u003e. :pr:\u003ccode\u003e820\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIgnore non-ASCII PID or start-time fields and out-of-range PIDs in \u003ccode\u003eReadWriteLock\u003c/code\u003e hard-link directory names so forged\nowners cannot abort acquisition. :pr:\u003ccode\u003e821\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e816\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.0 (2026-10-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eImport :data:\u003ccode\u003e~filelock.OwnerMode\u003c/code\u003e, :data:\u003ccode\u003e~filelock.CompromiseReason\u003c/code\u003e and :data:\u003ccode\u003e~filelock.has_fcntl\u003c/code\u003e from\n\u003ccode\u003efilelock\u003c/code\u003e. :pr:\u003ccode\u003e790\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.AcquireReturnProxy\u003c/code\u003e is generic in the lock type, so \u003ccode\u003ewith lock.acquire() as held:\u003c/code\u003e types \u003ccode\u003eheld\u003c/code\u003e as\nthe lock's own class. :pr:\u003ccode\u003e803\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA :class:\u003ccode\u003e~filelock.Timeout\u003c/code\u003e from a soft lock names a holder on another host or in another PID namespace, which no\ncontender ever reclaims. :pr:\u003ccode\u003e815\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003e~filelock.SoftFileLock.is_lock_held_by_us\u003c/code\u003e and :attr:\u003ccode\u003e~filelock.MarkerSoftFileLock.is_lock_held_by_us\u003c/code\u003e return\n\u003ccode\u003eFalse\u003c/code\u003e for a marker an earlier process with the same PID left behind. :pr:\u003ccode\u003e774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e removes its marker when writing it fails and closing the descriptor fails too, so the\nlock path no longer stays blocked. :pr:\u003ccode\u003e775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~filelock.BaseFileLock.acquire\u003c/code\u003e and :meth:\u003ccode\u003e~filelock.BaseAsyncFileLock.acquire\u003c/code\u003e no longer wait past \u003ccode\u003etimeout\u003c/code\u003e\nwhen \u003ccode\u003epoll_interval\u003c/code\u003e is longer than the time left. :pr:\u003ccode\u003e777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e ignores a generation-log entry whose name is not 20 ASCII digits, which used to\nstop its heartbeat thread or delete real generations. :pr:\u003ccode\u003e778\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.ReadWriteLock\u003c/code\u003e, :class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e and their async wrappers treat a\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/tox-dev/filelock/commit/5830a7e2c39d387ae5320bb3be1fbb2aa7742d4a\"\u003e\u003ccode\u003e5830a7e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a5fb607a8655035bb6d5ae4326637e25cf1af849\"\u003e\u003ccode\u003ea5fb607\u003c/code\u003e\u003c/a\u003e fix(read-write): reject a hostile pid in _owner_is_gone (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/821\"\u003e#821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/4c6f32f2797b2883bbcb0cca1ee81211d3e09c12\"\u003e\u003ccode\u003e4c6f32f\u003c/code\u003e\u003c/a\u003e test: make lock error checks deterministic (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f11f52357425943a6dbffd36ea1112726255f970\"\u003e\u003ccode\u003ef11f523\u003c/code\u003e\u003c/a\u003e fix(tests): bound concurrent lock progress (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5fd0c8f2e6a778da1933204e4a95bd84db9cdd43\"\u003e\u003ccode\u003e5fd0c8f\u003c/code\u003e\u003c/a\u003e fix(rw): avoid macOS descriptor lookups (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c3aaabc75ca927b2530b7264a04b965d64acf55\"\u003e\u003ccode\u003e0c3aaab\u003c/code\u003e\u003c/a\u003e feat(python): default to Python 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6c0ecc28f898f08cd0438cd489c3eaabad79a4b7\"\u003e\u003ccode\u003e6c0ecc2\u003c/code\u003e\u003c/a\u003e Release 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df06bbd640765ad3f1ed4a096cbe29e64b5592bb\"\u003e\u003ccode\u003edf06bbd\u003c/code\u003e\u003c/a\u003e 🐛 fix: close regressions since 4.0.12 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/815\"\u003e#815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/071204515d211b560d203cb68105ec06789eab46\"\u003e\u003ccode\u003e0712045\u003c/code\u003e\u003c/a\u003e 🐛 fix(read-write): refuse a database moved mid-acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/73fefc1e907457dd9bc9793eeba52f183d7f9c40\"\u003e\u003ccode\u003e73fefc1\u003c/code\u003e\u003c/a\u003e 📝 docs: point canonical and og:url at versioned pages (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/813\"\u003e#813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/4.0.9...4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `iniconfig` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/releases\"\u003einiconfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParsing values with many continuation lines is now linear instead of quadratic in time (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA leading UTF-8 BOM is now stripped when reading INI files. Files saved by Windows editors used to fail with \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInternal\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines. This is private API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe README example now uses \u003ccode\u003eIniConfig.parse()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e, thanks \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed the issue tracker link (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/74\"\u003e#74\u003c/a\u003e, thanks \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull diff:\u003c/strong\u003e \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/71\"\u003epytest-dev/iniconfig#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/72\"\u003epytest-dev/iniconfig#72\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix link to issues by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eparse_lines: keep values as list of lines, join once by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/78\"\u003epytest-dev/iniconfig#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/73\"\u003epytest-dev/iniconfig#73\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff autofix by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/80\"\u003epytest-dev/iniconfig#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use parse API in the README example by \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip leading UTF-8 BOM when reading INI files by \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echangelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/81\"\u003epytest-dev/iniconfig#81\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/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.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/pytest-dev/iniconfig/blob/main/CHANGELOG\"\u003einiconfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix quadratic parse time for values with many continuation lines (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estrip a leading UTF-8 BOM when reading INI files, which previously raised \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einternal: \u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/316fbfaf2752d89326e1e75b45cd070f5b5ace9a\"\u003e\u003ccode\u003e316fbfa\u003c/code\u003e\u003c/a\u003e changelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/d2dcb7289291e7e7019c183659814d42f7264b2d\"\u003e\u003ccode\u003ed2dcb72\u003c/code\u003e\u003c/a\u003e Strip leading UTF-8 BOM when reading INI files (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/40d8c03a1553953350d787e45f1cb768e2c14e6a\"\u003e\u003ccode\u003e40d8c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e from MbappeWU/codex/docs-parse-inline-comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/48359c3a7c2c8648a134ea8469e802b5aa8d5030\"\u003e\u003ccode\u003e48359c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/80\"\u003e#80\u003c/a\u003e from pytest-dev/claude/fix-iniconfig-test-eukh2n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/b153213a011fa92f4370c83cef614cf73c987f57\"\u003e\u003ccode\u003eb153213\u003c/code\u003e\u003c/a\u003e test: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff RUF022 autofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/4fddfabc850afee28178931c62535ba1c2b30c72\"\u003e\u003ccode\u003e4fddfab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/73\"\u003e#73\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/15852c2d1f9178ff960bf6c39a6f0f1495f1009e\"\u003e\u003ccode\u003e15852c2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/2e68639c3f41ea5b693f89807172cf304c94fb9e\"\u003e\u003ccode\u003e2e68639\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/23c9e088a909f16d0d8dc03b5090c66964c428b0\"\u003e\u003ccode\u003e23c9e08\u003c/code\u003e\u003c/a\u003e docs: use parse API in the README example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/e038536fbee6b5e76b180fce6694fd54661ced12\"\u003e\u003ccode\u003ee038536\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e from RonnyPfannschmidt/claude/dazzling-einstein-h8zq7m\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `platformdirs` from 4.12.2 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/platformdirs/releases\"\u003eplatformdirs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: recognize Homebrew Cellar framework prefixes by \u003ca href=\"https://github.com/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): require 3.11 and default to 3.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/platformdirs/pull/613\"\u003etox-dev/platformdirs#613\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/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\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/platformdirs/compare/4.12.4...4.13.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.4...4.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.12.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: download coverage during tool setup 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/platformdirs/pull/609\"\u003etox-dev/platformdirs#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): keep root's site dir readable in place_*_file by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/610\"\u003etox-dev/platformdirs#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fall back from unreachable runtime directory with ensure_exists by \u003ca href=\"https://github.com/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/611\"\u003etox-dev/platformdirs#611\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/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/611\"\u003etox-dev/platformdirs#611\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/platformdirs/compare/4.12.3...4.12.4\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.3...4.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.12.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePlace root config and data files in the first site directory by \u003ca href=\"https://github.com/PDGGK\"\u003e\u003ccode\u003e@​PDGGK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/607\"\u003etox-dev/platformdirs#607\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/PDGGK\"\u003e\u003ccode\u003e@​PDGGK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/607\"\u003etox-dev/platformdirs#607\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/platformdirs/compare/4.12.2...4.12.3\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.2...4.12.3\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/platformdirs/blob/main/docs/changelog.rst\"\u003eplatformdirs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.13.0 (2026-10-10)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eDetect Homebrew Python for the :class:\u003ccode\u003e~platformdirs.macos.MacOS\u003c/code\u003e site directories under :option:\u003ccode\u003epython:-S\u003c/code\u003e, which\nleaves :data:\u003ccode\u003esys.base_prefix\u003c/code\u003e on the \u003ccode\u003eCellar\u003c/code\u003e keg, and for the \u003ccode\u003epython-freethreading\u003c/code\u003e formula - by\n:user:\u003ccode\u003esricharanreddycheruku\u003c/code\u003e. :pr:\u003ccode\u003e612\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e613\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.4 (2026-10-07)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep site directories readable by other users when root calls\n:meth:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.place_config_file\u003c/code\u003e or another \u003ccode\u003eplace_*_file\u003c/code\u003e method with\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.use_site_for_root\u003c/code\u003e - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. :pr:\u003ccode\u003e610\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake :func:\u003ccode\u003e~platformdirs.user_runtime_dir\u003c/code\u003e warn and fall back from an unreachable \u003ccode\u003eXDG_RUNTIME_DIR\u003c/code\u003e under\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.ensure_exists\u003c/code\u003e instead of raising. :pr:\u003ccode\u003e611\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.3 (2026-10-03)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003ePlace files from \u003ccode\u003eplace_config_file\u003c/code\u003e and \u003ccode\u003eplace_data_file\u003c/code\u003e in the first site directory for root on Unix with\n\u003ccode\u003euse_site_for_root=True\u003c/code\u003e and \u003ccode\u003emultipath=True\u003c/code\u003e, where \u003ccode\u003efind_config_file\u003c/code\u003e and \u003ccode\u003efind_data_file\u003c/code\u003e look for them.\n:pr:\u003ccode\u003e607\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.2 (2026-09-29)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep \u003ccode\u003eos.pathsep\u003c/code\u003e in \u003ccode\u003esite_applications_path\u003c/code\u003e under \u003ccode\u003emultipath=True\u003c/code\u003e on platforms with one applications\ndirectory. :pr:\u003ccode\u003e604\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.1 (2026-09-28)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003ePytestAssertRewriteWarning\u003c/code\u003e when importing \u003ccode\u003eplatformdirs\u003c/code\u003e before invoking pytest. :pr:\u003ccode\u003e601\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.0 (2026-09-26)\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/tox-dev/platformdirs/commit/f05fb4ef31f38dfc316802c5301db972fd75468e\"\u003e\u003ccode\u003ef05fb4e\u003c/code\u003e\u003c/a\u003e Release 4.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/b3174fdd4e80c83d72cf723fd2a7bb6cb54cbd5f\"\u003e\u003ccode\u003eb3174fd\u003c/code\u003e\u003c/a\u003e feat(python): require 3.11 and default to 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/d7eb4fe34231df80a6b1c7abc362aa504feddbf1\"\u003e\u003ccode\u003ed7eb4fe\u003c/code\u003e\u003c/a\u003e fix: recognize Homebrew Cellar framework prefixes (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/19338a4fdfc0cdd6b5342ec137efd9e5613d67d2\"\u003e\u003ccode\u003e19338a4\u003c/code\u003e\u003c/a\u003e Release 4.12.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/f2a4fa944f3637c8e7aa1fe8e95c9adfefe8ed2c\"\u003e\u003ccode\u003ef2a4fa9\u003c/code\u003e\u003c/a\u003e fix: fall back from unreachable runtime directory with ensure_exists (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/611\"\u003e#611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/16429e2135fa70b314ef69fa7da4d5e746eb75c9\"\u003e\u003ccode\u003e16429e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(api): keep root's site dir readable in place_*_file (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/b9735d3c9f4a0b5ca4dafc15b53541fe3973f453\"\u003e\u003ccode\u003eb9735d3\u003c/code\u003e\u003c/a\u003e ci: download coverage during tool setup (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/344f2497bce1fba7838ef112f2bd91e9d5f23b58\"\u003e\u003ccode\u003e344f249\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/960ff632eb575deb6f0d5bf49519d5a2ee2098b6\"\u003e\u003ccode\u003e960ff63\u003c/code\u003e\u003c/a\u003e Release 4.12.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/8047ad5bf0e5fd3db9c8ce9f250f73c3d961fe19\"\u003e\u003ccode\u003e8047ad5\u003c/code\u003e\u003c/a\u003e Place root config and data files in the first site directory (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/607\"\u003e#607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/platformdirs/compare/4.12.2...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-discovery` from 1.6.1 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/releases\"\u003epython-discovery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ignore broken sphinx-llm release 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/python-discovery/pull/134\"\u003etox-dev/python-discovery#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e👷 ci: pin ubuntu-26.04 and bump dependencies 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/python-discovery/pull/138\"\u003etox-dev/python-discovery#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run old Python checks in parallel 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/python-discovery/pull/140\"\u003etox-dev/python-discovery#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): default to 3.15 and match virtualenv 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/python-discovery/pull/142\"\u003etox-dev/python-discovery#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cache): discard unusable interpreter cache entries by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(query): validate PY_DISCOVERY_TIMEOUT by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/143\"\u003etox-dev/python-discovery#143\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/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\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/python-discovery/compare/1.6.1...1.6.2\"\u003ehttps://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/blob/main/docs/changelog.rst\"\u003epython-discovery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBug fixes - 1.6.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDiscard malformed interpreter cache entries and query the interpreter again, including entries with missing,\nnon-string or unusable \u003ccode\u003esystem_executable\u003c/code\u003e paths - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse the default interpreter query timeout and warn for invalid \u003ccode\u003ePY_DISCOVERY_TIMEOUT\u003c/code\u003e values. Accept \u003ccode\u003einf\u003c/code\u003e\nor values above the subprocess wait limit to disable the timeout - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e143\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev1.6.1 (2026-09-18)\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/python-discovery/commit/4fe2ade736e5191de42ca3d4a0b8bf672ffc5652\"\u003e\u003ccode\u003e4fe2ade\u003c/code\u003e\u003c/a\u003e release 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/60ddef109aafdd6d54aa25c8057a569c76e3dba2\"\u003e\u003ccode\u003e60ddef1\u003c/code\u003e\u003c/a\u003e fix(query): validate PY_DISCOVERY_TIMEOUT (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/eb1eab726924245c533ad867d1b4bcc4c47b6d2a\"\u003e\u003ccode\u003eeb1eab7\u003c/code\u003e\u003c/a\u003e fix(cache): discard unusable interpreter cache entries (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/db810b8206339892c0cd15f000b8e18860a8b913\"\u003e\u003ccode\u003edb810b8\u003c/code\u003e\u003c/a\u003e feat(python): default to 3.15 and match virtualenv (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/142\"\u003e#142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/614afa4adaa5fb36daf38919e3c407af71f3260b\"\u003e\u003ccode\u003e614afa4\u003c/code\u003e\u003c/a\u003e ci: run old Python checks in parallel (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/9148aa454b276b5745d56bb2a42bdc8f26ee7f55\"\u003e\u003ccode\u003e9148aa4\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/a69c0d9139ff0f1276d318d75d25d59cbc172bf4\"\u003e\u003ccode\u003ea69c0d9\u003c/code\u003e\u003c/a\u003e 👷 ci: pin ubuntu-26.04 and bump dependencies (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/138\"\u003e#138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/c8fcbf599ac401c8b1ad793187b28e45ccd1ffc8\"\u003e\u003ccode\u003ec8fcbf5\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/f0b3a2030c57a4f9217cd6ab09f837123ad0bc17\"\u003e\u003ccode\u003ef0b3a20\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/b4eea32e584c0c1f08c9ad4b9f5850cb8c2275da\"\u003e\u003ccode\u003eb4eea32\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.0.1 to 10.1.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rpds-py` from 2026.6.3 to 2026.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/fc7a1853152f23ee056c07fc97bb2a63557553ed\"\u003e\u003ccode\u003efc7a185\u003c/code\u003e\u003c/a\u003e Release rpds-py version 2026.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/d19ef61c41045976356e869a0490c40e11b701f7\"\u003e\u003ccode\u003ed19ef61\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/311\"\u003e#311\u003c/a\u003e from edgarrmondragon/pypy312\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/47ac82fa8f7303d3a72dac0d336f0a7792631f18\"\u003e\u003ccode\u003e47ac82f\u003c/code\u003e\u003c/a\u003e Bump PyO3 to 0.29.3 and start building PyPy 3.12 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/cf0900dee2eb945f38124893c306116829215b2b\"\u003e\u003ccode\u003ecf0900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/308\"\u003e#308\u003c/a\u003e from crate-py/dependabot/github_actions/github/codeql...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/204fd02dd2c1c7c1efa722dc151be68e865a60de\"\u003e\u003ccode\u003e204fd02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/309\"\u003e#309\u003c/a\u003e from crate-py/dependabot/github_actions/astral-sh/set...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/264fdef59c9c85a0d9ff1ff603cfc7f15739d169\"\u003e\u003ccode\u003e264fdef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/310\"\u003e#310\u003c/a\u003e from crate-py/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/5ddee5c339c87c591b3ed85b848a677e5f43ddc5\"\u003e\u003ccode\u003e5ddee5c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/9fe33188f058b7686775737bc839ec076956ec21\"\u003e\u003ccode\u003e9fe3318\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 10.1.0 to 10.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/2302c70d7db939ce0fc77215923a790179a21e0f\"\u003e\u003ccode\u003e2302c70\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action/upload-sarif from 4.38.0 to 4.38.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/93bbcbbb62008402aecfdbd8830377d1e2270514\"\u003e\u003ccode\u003e93bbcbb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/305\"\u003e#305\u003c/a\u003e from crate-py/dependabot/github_actions/astral-sh/set...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crate-py/rpds/compare/v2026.6.3...v2026.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tomli` from 2.4.1 to 2.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hukkin/tomli/blob/master/CHANGELOG.md\"\u003etomli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eBinary wheels for Python 3.15\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eSet nested inline array/table limit to 400 to fix mypyc generated binaries crashing unrecoverably in constrained environments (e.g. worker thread in a \u003ccode\u003epython:3.13-alpine\u003c/code\u003e image)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eBackport: Limit number of parts of a TOML key to address quadratic time complexity\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/a2a578949199336ebc3884eeba4aede87da41ef2\"\u003e\u003ccode\u003ea2a5789\u003c/code\u003e\u003c/a\u003e Bump version: 2.4.1 → 2.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/94a60819c4f0b244829513f19f3caf64ef16b466\"\u003e\u003ccode\u003e94a6081\u003c/code\u003e\u003c/a\u003e Add 2.5.0 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/85f8748d51e42f4bb1f4969e3911fa8e52eaa7b5\"\u003e\u003ccode\u003e85f8748\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/70fd4609dd97ea30ade101a4c8deb37ff2d694ed\"\u003e\u003ccode\u003e70fd460\u003c/code\u003e\u003c/a\u003e Allow flit_core v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/00d06107cad00485e1d4eb0b51a2ec3980d52c1c\"\u003e\u003ccode\u003e00d0610\u003c/code\u003e\u003c/a\u003e Update pre-commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/eb93c1225a5540e61a3a4054673e364fc6efe307\"\u003e\u003ccode\u003eeb93c12\u003c/code\u003e\u003c/a\u003e Improve tomllib compatibility and sync docs (\u003ca href=\"https://redirect.github.com/hukkin/tomli/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/18d8d59db6d632ebbcfe63f1f7636145d652da21\"\u003e\u003ccode\u003e18d8d59\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel for Python 3.15 wheels (\u003ca href=\"https://redirect.github.com/hukkin/tomli/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/1e6e869aa9dbbddc492608944e82d9ad5397280f\"\u003e\u003ccode\u003e1e6e869\u003c/code\u003e\u003c/a\u003e Set smaller MAX_INLINE_NESTING to avoid python:3.13-alpine worker thread crash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/c3299981db699cacabbd6edd0e32934f5e3e600b\"\u003e\u003ccode\u003ec329998\u003c/code\u003e\u003c/a\u003e Use Trusted Publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/ba611c5a97da9226533e3c39d5c46c0b55b80acb\"\u003e\u003ccode\u003eba611c5\u003c/code\u003e\u003c/a\u003e Add zizmor security scanner to pre-commit (\u003ca href=\"https://redirect.github.com/hukkin/tomli/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hukkin/tomli/compare/2.4.1...2.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-requests` from 2.33.0.20260906 to 2.33.0.20261006\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typeshed/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `virtualenv` from 21.14.3 to 21.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/virtualenv/releases\"\u003evirtualenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.14.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e👷 ci: pin ubuntu-26.04, clear warnings, bump deps by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3378\"\u003epypa/virtualenv#3378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(ci): defer upgrades blocked by release age by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3379\"\u003epypa/virtualenv#3379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: overlap release transfers and verification by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3382\"\u003epypa/virtualenv#3382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(seed): guard every embed update log read, not just one by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3383\"\u003epypa/virtualenv#3383\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.5...21.14.6\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.5...21.14.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e21.14.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 style(test): mark prompt fixture locals Final by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3374\"\u003epypa/virtualenv#3374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🎨 style: give every Final annotation its type by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3375\"\u003epypa/virtualenv#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): dump stacks from a thread that holds the GIL by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3377\"\u003epypa/virtualenv#3377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset the embed update log when it cannot be read by \u003ca href=\"https://github.com/pasmud\"\u003e\u003ccode\u003e@​pasmud\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3376\"\u003epypa/virtualenv#3376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.4...21.14.5\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.4...21.14.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e21.14.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade embedded pip/setuptools/wheel and CI test tools by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3372\"\u003epypa/virtualenv#3372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(changelog): note the zsh prompt fix by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3373\"\u003epypa/virtualenv#3373\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.3...21.14.4\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.3...21.14.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/pypa/virtualenv/blob/main/docs/changelog.rst\"\u003evirtualenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBugfixes - 21.14.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to the bundled seed wheel with periodic update on (the default) when the embed update log holds JSON of the\nwrong shape, instead of downloading the wheel or, offline, failing to create the environment - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e.\n(:issue:\u003ccode\u003e3383\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.5 (2026-10-02)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003eBugfixes - 21.14.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to the bundled seed wheel and remove the embed update log when the log in the app data folder holds JSON of\nthe wrong shape, instead of failing to create the environment - by :user:\u003ccode\u003epasmud\u003c/code\u003e. (:issue:\u003ccode\u003e3376\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.4 (2026-10-02)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003eBugfixes - 21.14.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eactivate\u003c/code\u003e running commands from a virtual environment name or \u003ccode\u003e--prompt\u003c/code\u003e that holds \u003ccode\u003e$(...)\u003c/code\u003e, backticks or\n\u003ccode\u003e${...}\u003c/code\u003e when zsh has \u003ccode\u003ePROMPT_SUBST\u003c/code\u003e set, and show a \u003ccode\u003e%\u003c/code\u003e in the name as typed under zsh (\u003ccode\u003eGHSA-5vjq-rrrf-7h2q \u0026lt;https://github.com/pypa/virtualenv/security/advisories/GHSA-5vjq-rrrf-7h2q\u0026gt;\u003c/code\u003e_); reported by :user:\u003ccode\u003ekemrec\u003c/code\u003e.\n(:issue:\u003ccode\u003e3373\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.3 (2026-10-01)\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/pypa/virtualenv/commit/9e69ac725fd4dc83726536c084ab9ca4f099c5b6\"\u003e\u003ccode\u003e9e69ac7\u003c/code\u003e\u003c/a\u003e release 21.14.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/464c34b696c81190cd1ad6589158f6ce59467351\"\u003e\u003ccode\u003e464c34b\u003c/code\u003e\u003c/a\u003e 🐛 fix(seed): guard every embed update log read, not just one (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3383\"\u003e#3383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/3f56d7f4b88884296249b83889d717c41ed6e668\"\u003e\u003ccode\u003e3f56d7f\u003c/code\u003e\u003c/a\u003e ci: overlap release transfers and verification (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3382\"\u003e#3382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/7577efd46b0e62c5edbd803ded2788eb6d48f5ca\"\u003e\u003ccode\u003e7577efd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the runtime-dependencies group with 10 updates (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3381\"\u003e#3381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/f6d172367b48d5138fcab911ff8fdd86b4e8cdaf\"\u003e\u003ccode\u003ef6d1723\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3380\"\u003e#3380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/7c56749d7b3065f6a99b21fd61089ba692e4aaec\"\u003e\u003ccode\u003e7c56749\u003c/code\u003e\u003c/a\u003e fix(ci): defer upgrades blocked by release age (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3379\"\u003e#3379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/95d02526dc5f2c569767d8ee572f72f571b8a6ce\"\u003e\u003ccode\u003e95d0252\u003c/code\u003e\u003c/a\u003e 👷 ci: pin ubuntu-26.04, clear warnings, bump deps (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69\"\u003e\u003ccode\u003e571bc20\u003c/code\u003e\u003c/a\u003e release 21.14.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/5b9b7de4f2f850d94deec4d5a9764e7b879e8865\"\u003e\u003ccode\u003e5b9b7de\u003c/code\u003e\u003c/a\u003e Reset the embed update log when it cannot be read (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3376\"\u003e#3376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/9fd48c89ad6986d37d20598fd3d8bb5eee94ecba\"\u003e\u003ccode\u003e9fd48c8\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): dump stacks from a thread that holds the GIL (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.3...21.14.6\"\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/aisecnomad/Nexus-ShadowScan/pull/223","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aisecnomad%2FNexus-ShadowScan/issues/223","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/223/packages"},{"uuid":"5847066591","node_id":"PR_kwDOQgt8688AAAABIYPt2A","number":623,"state":"open","title":"Build(deps-dev): bump the minor-and-patch group across 1 directory 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-10-14T11:37:09.000Z","updated_at":"2026-10-14T11:37:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): bump","group_name":"minor-and-patch","update_count":6,"packages":[{"name":"crosshair-tool","old_version":"0.0.110","new_version":"0.0.111","repository_url":"https://github.com/pschanely/CrossHair"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"hypothesis-crosshair","old_version":"0.0.30","new_version":"0.0.31","repository_url":"https://github.com/pschanely/hypothesis-crosshair"},{"name":"pytest","old_version":"9.0.3","new_version":"9.1.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.16.4","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.74","new_version":"0.0.85","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [crosshair-tool](https://github.com/pschanely/CrossHair) | `0.0.110` | `0.0.111` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [hypothesis-crosshair](https://github.com/pschanely/hypothesis-crosshair) | `0.0.30` | `0.0.31` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.4` | `0.16.10` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.74` | `0.0.85` |\n\n\nUpdates `crosshair-tool` from 0.0.110 to 0.0.111\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pschanely/CrossHair/releases\"\u003ecrosshair-tool's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.0.111\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://crosshair.readthedocs.io/en/latest/changelog.html#version-0-0-111\"\u003ethe changelog\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/14f69eb740df8914fbdde3b8c7f398c696053c01\"\u003e\u003ccode\u003e14f69eb\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/733b2580bf2925317d2dab570851fa25e37a8a30\"\u003e\u003ccode\u003e733b258\u003c/code\u003e\u003c/a\u003e Fall back to process-wide instruction events beside another instruction tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/2a8066a084403c4f8215c7e6da7fcef156c137c7\"\u003e\u003ccode\u003e2a8066a\u003c/code\u003e\u003c/a\u003e Enable instruction monitoring per code object instead of process-wide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/3b9c6a2233de98867fd807e9fefe2ff2524a44ad\"\u003e\u003ccode\u003e3b9c6a2\u003c/code\u003e\u003c/a\u003e Add an xfail test for is_integer() on non-finite IEEE-modeled floats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/aa268bb36e6f89019a6d783f881a27a917e327de\"\u003e\u003ccode\u003eaa268bb\u003c/code\u003e\u003c/a\u003e Compute float powers concretely unless the exponent is a small integer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/0cdf66b74ae20c8729f98a8a355129c06ca1462d\"\u003e\u003ccode\u003e0cdf66b\u003c/code\u003e\u003c/a\u003e Use inline expression instead of helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/4c758a2a037a3d9a7e50efc47eac75f08f3105a6\"\u003e\u003ccode\u003e4c758a2\u003c/code\u003e\u003c/a\u003e Compare symbolic strings and bytes to literals with one branch, not one per c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/190a73d261057e2f1009256e4004a60e2cfab74d\"\u003e\u003ccode\u003e190a73d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pschanely/CrossHair/issues/527\"\u003e#527\u003c/a\u003e from KRRT7/regex-lazy-slice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/f510c8ecb24c571774f62f54bcfdcb48c88f7985\"\u003e\u003ccode\u003ef510c8e\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into regex-lazy-slice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/d05c0d085d6958563ffad79af8adf6b61ac99117\"\u003e\u003ccode\u003ed05c0d0\u003c/code\u003e\u003c/a\u003e Merge changelog.rst with the union driver\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pschanely/CrossHair/compare/v0.0.110...v0.0.111\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.0 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis-crosshair` from 0.0.30 to 0.0.31\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pschanely/hypothesis-crosshair/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.3 to 9.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.1.1 (2026-06-19)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14220\"\u003e#14220\u003c/a\u003e: Fixed a logic bug in \u003ccode\u003epytest.RaisesGroup\u003c/code\u003e which would might cause it to display incorrect \u0026quot;It matches \u003c!-- raw HTML omitted --\u003eFooError()\u003c!-- raw HTML omitted --\u003e which was paired with \u003c!-- raw HTML omitted --\u003eBarError\u003c!-- raw HTML omitted --\u003e\u0026quot; messages.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14591\"\u003e#14591\u003c/a\u003e: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pytest\"\u003e\u003ccode\u003e@​pytest\u003c/code\u003e\u003c/a\u003e.mark.parametrize\u003c!-- raw HTML omitted --\u003e to fail with \u0026quot;duplicate parametrization of '\u0026lt;fixture name\u0026gt;'\u0026quot;.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14606\"\u003e#14606\u003c/a\u003e: Fixed \u003ccode\u003elist-item\u003c/code\u003e typing errors from mypy in \u003ccode\u003e@pytest.mark.parametrize \u0026lt;pytest.mark.parametrize ref\u0026gt;\u003c/code\u003e \u003ccode\u003eargvalues\u003c/code\u003e parameter.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14608\"\u003e#14608\u003c/a\u003e: Fixed a regression in pytest 9.1.0 where \u003ccode\u003econftest.py\u003c/code\u003e files located in \u003ccode\u003e\u0026lt;invocation dir\u0026gt;/test*\u003c/code\u003e were no longer loaded as initial conftests when invoked without arguments.\nThis could cause certain hooks (like \u003ccode\u003epytest_addoption\u003c/code\u003e) in these files to not fire.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.0\u003c/h2\u003e\n\u003ch1\u003epytest 9.1.0 (2026-06-13)\u003c/h1\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14533\"\u003e#14533\u003c/a\u003e: When using \u003ccode\u003e--doctest-modules\u003c/code\u003e, autouse fixtures with \u003ccode\u003emodule\u003c/code\u003e, \u003ccode\u003epackage\u003c/code\u003e or \u003ccode\u003esession\u003c/code\u003e scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.\u003c/p\u003e\n\u003cp\u003eIf this is undesirable, move the fixture definition to a \u003ccode\u003econftest.py\u003c/code\u003e file if possible.\u003c/p\u003e\n\u003cp\u003eTechnical explanation for those interested:\nWhen using \u003c!-- raw HTML omitted --\u003e--doctest-modules\u003c!-- raw HTML omitted --\u003e, pytest possibly collects Python modules twice, once as \u003ccode\u003epytest.Module\u003c/code\u003e and once as a \u003ccode\u003eDoctestModule\u003c/code\u003e (depending on the configuration).\nDue to improvements in pytest's fixture implementation, if e.g. the \u003ccode\u003eDoctestModule\u003c/code\u003e collects a fixture, it is now visible to it only, and not to the \u003ccode\u003eModule\u003c/code\u003e.\nThis means that both need to register the fixtures independently.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations (removal in next major release)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/10819\"\u003e#10819\u003c/a\u003e: Added a deprecation warning for class-scoped fixtures defined as instance methods (without \u003ccode\u003e@classmethod\u003c/code\u003e). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use \u003ccode\u003e@classmethod\u003c/code\u003e decorator instead -- by \u003ccode\u003eyastcher\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003e10819\u003c/code\u003e and \u003ccode\u003e14011\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12882\"\u003e#12882\u003c/a\u003e: Calling \u003ccode\u003erequest.getfixturevalue() \u0026lt;pytest.FixtureRequest.getfixturevalue\u0026gt;\u003c/code\u003e during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003edynamic-fixture-request-during-teardown\u003c/code\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13409\"\u003e#13409\u003c/a\u003e: Using non-\u003ccode\u003e~collections.abc.Collection\u003c/code\u003e iterables (such as generators, iterators, or custom iterable objects) for the \u003ccode\u003eargvalues\u003c/code\u003e parameter in \u003ccode\u003e@pytest.mark.parametrize \u0026lt;pytest.mark.parametrize ref\u0026gt;\u003c/code\u003e and \u003ccode\u003emetafunc.parametrize \u0026lt;pytest.Metafunc.parametrize\u0026gt;\u003c/code\u003e is now deprecated.\u003c/p\u003e\n\u003cp\u003eThese iterables get exhausted after the first iteration,\nleading to tests getting unexpectedly skipped in cases such as running \u003ccode\u003epytest.main()\u003c/code\u003e multiple times,\nusing class-level parametrize decorators,\nor collecting tests multiple times.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003eparametrize-iterators\u003c/code\u003e for details and suggestions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute is now deprecated.\nUse \u003ccode\u003econfig.getini() \u0026lt;pytest.Config.getini\u0026gt;\u003c/code\u003e to access configuration values instead.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003econfig-inicfg\u003c/code\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14004\"\u003e#14004\u003c/a\u003e: Passing \u003ccode\u003ebaseid\u003c/code\u003e to \u003ccode\u003e~pytest.FixtureDef\u003c/code\u003e or \u003ccode\u003enodeid\u003c/code\u003e strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/cf470ec0bf7eb89cd97dd56df4859eae5db46447\"\u003e\u003ccode\u003ecf470ec\u003c/code\u003e\u003c/a\u003e Prepare release version 9.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/e0c8ce6cc5db1f08363be6f152c32e6838df2690\"\u003e\u003ccode\u003ee0c8ce6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14625\"\u003e#14625\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/a07c31a97...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/1b82d1694fce22385ee7a4287917fbafbaf2e757\"\u003e\u003ccode\u003e1b82d16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14624\"\u003e#14624\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/b375b79ec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/501c4bc784da3b08bfcaa64858eba5d15dc59e53\"\u003e\u003ccode\u003e501c4bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14596\"\u003e#14596\u003c/a\u003e from bluetech/doc-classmethod\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b61f588e36e9377c3d1d3f06bece1da0fc31d9ca\"\u003e\u003ccode\u003eb61f588\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14622\"\u003e#14622\u003c/a\u003e from chrisburr/fix-14608-initial-conftest-test-subdir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/9a567e009f4d2da3ce1721c6db3109cb5744d40a\"\u003e\u003ccode\u003e9a567e0\u003c/code\u003e\u003c/a\u003e [automated] Update plugin list (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14617\"\u003e#14617\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14618\"\u003e#14618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ef8b2993e5b48639e4a3d97d0525df9760781384\"\u003e\u003ccode\u003eef8b299\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14620\"\u003e#14620\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/680f9f3ed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/66abd0784d4cb7c1ba44ab9a8896506cd4985acc\"\u003e\u003ccode\u003e66abd07\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14220\"\u003e#14220\u003c/a\u003e from bysiber/fix-stale-iexp-raisesgroup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/79fbf93b666cac5f27c9dad047943d47b766c8d5\"\u003e\u003ccode\u003e79fbf93\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14612\"\u003e#14612\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/974ed48b6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0d312eb876177e9f1c04262b54060a41034ebf5c\"\u003e\u003ccode\u003e0d312eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14611\"\u003e#14611\u003c/a\u003e from bluetech/parametrize-argvalues-typing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.3...9.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.16.4 to 0.16.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.16.10\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.16.10\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/ruff/blob/0.16.10/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-09-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid false positives for overloaded division (\u003ccode\u003eRUF069\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28309\"\u003e#28309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Avoid false positives for calls with keyword arguments (\u003ccode\u003eB009\u003c/code\u003e, \u003ccode\u003eB010\u003c/code\u003e, \u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28776\"\u003e#28776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow lazy imports to be used in deferred annotations (\u003ccode\u003eTID255\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28767\"\u003e#28767\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LibCST-based fixes for Python 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28616\"\u003e#28616\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/3265ed1f944c98bb4c04d632fbefb1257cdb583d\"\u003e\u003ccode\u003e3265ed1\u003c/code\u003e\u003c/a\u003e Bump version to 0.16.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29055\"\u003e#29055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e786964450e75d904c288a1e59ae2b196d0b9c47\"\u003e\u003ccode\u003ee786964\u003c/code\u003e\u003c/a\u003e Authorize shared PR security-review workflow to publish findings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29052\"\u003e#29052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a81291e9db2f67039d159e7490b988e6c25c7a0f\"\u003e\u003ccode\u003ea81291e\u003c/code\u003e\u003c/a\u003e [ty] Defer uv workspace discovery until after project configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28525\"\u003e#28525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6a74d26cbe6b45b3eb2992041714461bd4ceb5b\"\u003e\u003ccode\u003eb6a74d2\u003c/code\u003e\u003c/a\u003e [ty] Refresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/41d30df6fdbe215390b3acb46e8cd4017f65580d\"\u003e\u003ccode\u003e41d30df\u003c/code\u003e\u003c/a\u003e Update Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29047\"\u003e#29047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/317e0a3ab75878eba6e3b78c57f73d47108e2a8e\"\u003e\u003ccode\u003e317e0a3\u003c/code\u003e\u003c/a\u003e [ty] Bound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8546752d9d5dac8da78c8abba380600cfe573874\"\u003e\u003ccode\u003e8546752\u003c/code\u003e\u003c/a\u003e [ty] Fix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/56180bcf800d6e45fb1c4b4113e97501b8f128c5\"\u003e\u003ccode\u003e56180bc\u003c/code\u003e\u003c/a\u003e [ty] Specialize instance members once (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29043\"\u003e#29043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aa9a1ff88aa83b3f01360ef5b3cb04b2be187206\"\u003e\u003ccode\u003eaa9a1ff\u003c/code\u003e\u003c/a\u003e [ty] Avoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2d253467b5153f82d26c51d49eb8d4156f1768bf\"\u003e\u003ccode\u003e2d25346\u003c/code\u003e\u003c/a\u003e [ty] Improve \u003ccode\u003eunresolved-import\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29039\"\u003e#29039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.4...0.16.10\"\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.74 to 0.0.85\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.85\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-06.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recursive lambda class decorator panics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28984\"\u003e#28984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompare observable notebook state for equality (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28874\"\u003e#28874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect recursive alias cycles through intersections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28916\"\u003e#28916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchoring of include and exclude patterns after the project's root changed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28995\"\u003e#28995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow when inferring dynamic class metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28917\"\u003e#28917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive dataclass transform metadata (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28920\"\u003e#28920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive TypedDicts during cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28918\"\u003e#28918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve cycle markers in ParamSpec specialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29024\"\u003e#29024\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrefer existing @ paths over response files in Ruff and ty (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28877\"\u003e#28877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd namespace package support to import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28202\"\u003e#28202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eContain rendered code within Markdown fences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28869\"\u003e#28869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh Python settings when virtual environments change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28650\"\u003e#28650\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostic improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in \u003ccode\u003etruthiness-test-of-none-union\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28889\"\u003e#28889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid \u003ccode\u003edisjoint-cast\u003c/code\u003e diagnostics in situations where the value could have been inferred as being compatible with the casted type if it had only been inferred with the right type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28851\"\u003e#28851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplain outdated uv versions in metadata errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28959\"\u003e#28959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove display of string literal types that include unicode characters or double quotes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29089\"\u003e#29089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove uv metadata diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28990\"\u003e#28990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve constrained type-variable failure diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28768\"\u003e#28768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve generic inference errors during diagnostic recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28811\"\u003e#28811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport deprecated overloads in decorator applications (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28999\"\u003e#28999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound methods without a receiver are not callable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28981\"\u003e#28981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix type variable inference for final class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29097\"\u003e#29097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFreshen ParamSpec identities consistently (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28826\"\u003e#28826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor generic property setters in protocol compatibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28562\"\u003e#28562\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.85\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-06.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recursive lambda class decorator panics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28984\"\u003e#28984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompare observable notebook state for equality (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28874\"\u003e#28874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect recursive alias cycles through intersections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28916\"\u003e#28916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchoring of include and exclude patterns after the project's root changed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28995\"\u003e#28995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow when inferring dynamic class metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28917\"\u003e#28917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive dataclass transform metadata (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28920\"\u003e#28920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive TypedDicts during cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28918\"\u003e#28918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve cycle markers in ParamSpec specialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29024\"\u003e#29024\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrefer existing @ paths over response files in Ruff and ty (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28877\"\u003e#28877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd namespace package support to import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28202\"\u003e#28202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eContain rendered code within Markdown fences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28869\"\u003e#28869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh Python settings when virtual environments change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28650\"\u003e#28650\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostic improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in \u003ccode\u003etruthiness-test-of-none-union\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28889\"\u003e#28889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid \u003ccode\u003edisjoint-cast\u003c/code\u003e diagnostics in situations where the value could have been inferred as being compatible with the casted type if it had only been inferred with the right type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28851\"\u003e#28851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplain outdated uv versions in metadata errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28959\"\u003e#28959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove display of string literal types that include unicode characters or double quotes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29089\"\u003e#29089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove uv metadata diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28990\"\u003e#28990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve constrained type-variable failure diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28768\"\u003e#28768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve generic inference errors during diagnostic recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28811\"\u003e#28811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport deprecated overloads in decorator applications (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28999\"\u003e#28999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound methods without a receiver are not callable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28981\"\u003e#28981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix type variable inference for final class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29097\"\u003e#29097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFreshen ParamSpec identities consistently (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28826\"\u003e#28826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor generic property setters in protocol compatibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28562\"\u003e#28562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer nominal generic specializations from bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28812\"\u003e#28812\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/d7fc5ef8837c0a012a7efd187649d448532f8ff0\"\u003e\u003ccode\u003ed7fc5ef\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.85 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc4fd9e2af313138780598653483e5722a11f962\"\u003e\u003ccode\u003ebc4fd9e\u003c/code\u003e\u003c/a\u003e Include reproducers in daily fuzz issues (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4671\"\u003e#4671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/03d47ff340b652851d76c300a4ea0f4f422a2838\"\u003e\u003ccode\u003e03d47ff\u003c/code\u003e\u003c/a\u003e Group uv workflow and pre-commit updates (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a86a22f15d1d391b1d803bd093bc470b7ee0aafa\"\u003e\u003ccode\u003ea86a22f\u003c/code\u003e\u003c/a\u003e Update dependency astral-sh/uv to v0.12.23 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4669\"\u003e#4669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/14475511961496c36ac764cb4b71102a18e64610\"\u003e\u003ccode\u003e1447551\u003c/code\u003e\u003c/a\u003e Enable Renovate updates for the release preparation uv version (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4668\"\u003e#4668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9f2b16aa29d8418a1f976c1b69786edc4cc7b48a\"\u003e\u003ccode\u003e9f2b16a\u003c/code\u003e\u003c/a\u003e Set FORCE_COLOR for fuzzing environment (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/05add1dd760535aa45dfd6125ab7ce122c628468\"\u003e\u003ccode\u003e05add1d\u003c/code\u003e\u003c/a\u003e Add a daily ty fuzzing workflow (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4643\"\u003e#4643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ad394150be4ac7340368677ab11d53af747f8c2e\"\u003e\u003ccode\u003ead39415\u003c/code\u003e\u003c/a\u003e Correct file exclusion guide examples (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4638\"\u003e#4638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2ea9c49a44f736c8782e94cf107200b57720f2f5\"\u003e\u003ccode\u003e2ea9c49\u003c/code\u003e\u003c/a\u003e Update language server feature documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4637\"\u003e#4637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/449e387cceec070317ed36a683af33a9aacea8f0\"\u003e\u003ccode\u003e449e387\u003c/code\u003e\u003c/a\u003e Correct type inference and narrowing FAQ (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4639\"\u003e#4639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.74...0.0.85\"\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/leynos/cuprum/pull/623","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/leynos%2Fcuprum/issues/623","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/623/packages"},{"uuid":"5845863059","node_id":"PR_kwDOTzu6d88AAAABIXRQzA","number":42,"state":"closed","title":"Bump the minor-update group across 1 directory with 201 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-20T00:02:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T10:06:21.000Z","updated_at":"2026-10-20T00:02:39.000Z","time_to_close":482176,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-update","update_count":201,"packages":[{"name":"tblib","old_version":"3.1.0","new_version":"3.2.2","repository_url":"https://github.com/ionelmc/python-tblib"},{"name":"regex","old_version":"2026.2.28","new_version":"2026.9.29","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.32.3","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"tqdm","old_version":"4.67.3","new_version":"4.70.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"transformers","old_version":"5.15.0","new_version":"5.19.0","repository_url":"https://github.com/huggingface/transformers"},{"name":"tokenizers","old_version":"0.22.2","new_version":"0.23.3","repository_url":"https://github.com/huggingface/tokenizers"},{"name":"fastapi","old_version":"0.136.3","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"starlette","old_version":"1.3.1","new_version":"1.7.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"aiohttp","old_version":"3.13.3","new_version":"3.14.5","repository_url":"https://github.com/aio-libs/aiohttp"},{"name":"pydantic","old_version":"2.12.0","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"prometheus-client","old_version":"0.22.0","new_version":"0.26.0","repository_url":"https://github.com/prometheus/client_python"},{"name":"prometheus-fastapi-instrumentator","old_version":"8.0.2","new_version":"8.1.0","repository_url":"https://github.com/trallnag/prometheus-fastapi-instrumentator"},{"name":"tiktoken","old_version":"0.12.0","new_version":"0.14.0","repository_url":"https://github.com/openai/tiktoken"},{"name":"lark","old_version":"1.2.2","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"typing-extensions","old_version":"4.15.0","new_version":"4.16.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"jsonschema","old_version":"4.23.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyzmq","old_version":"27.1.0","new_version":"27.2.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"msgspec","old_version":"0.21.1","new_version":"0.22.0","repository_url":"https://github.com/msgspec/msgspec"},{"name":"mistral-common","old_version":"1.11.6","new_version":"1.12.0","repository_url":"https://github.com/mistralai/mistral-common"},{"name":"watchfiles","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"python-json-logger","old_version":"4.1.0","new_version":"4.2.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"pybase64","old_version":"1.4.3","new_version":"1.5.1","repository_url":"https://github.com/mayeut/pybase64"},{"name":"opentelemetry-sdk","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-api","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions-ai","old_version":"0.4.13","new_version":"0.5.1"},{"name":"numba","old_version":"0.65.0","new_version":"0.68.0"},{"name":"torchcodec","old_version":"0.14.0+cu130","new_version":"0.17.0","repository_url":"https://github.com/pytorch/torchcodec"},{"name":"absl-py","old_version":"2.1.0","new_version":"2.5.1","repository_url":"https://github.com/abseil/abseil-py"},{"name":"accelerate","old_version":"1.13.0","new_version":"1.15.0","repository_url":"https://github.com/huggingface/accelerate"},{"name":"aiohappyeyeballs","old_version":"2.6.1","new_version":"2.7.1","repository_url":"https://github.com/aio-libs/aiohappyeyeballs"},{"name":"alembic","old_version":"1.16.4","new_version":"1.20.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"annotated-types","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/annotated-types/annotated-types"},{"name":"anyio","old_version":"4.14.1","new_version":"4.15.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"arctic-inference","old_version":"0.1.1","new_version":"0.3.0"},{"name":"argcomplete","old_version":"3.5.1","new_version":"3.7.2","repository_url":"https://github.com/kislyuk/argcomplete"},{"name":"audioread","old_version":"3.0.1","new_version":"3.1.0","repository_url":"https://github.com/beetbox/audioread"},{"name":"azure-core","old_version":"1.38.2","new_version":"1.41.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.26.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.28.0","new_version":"12.31.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"blobfile","old_version":"3.0.0","new_version":"3.3.0","repository_url":"https://github.com/blobfile/blobfile"},{"name":"bm25s","old_version":"0.2.13","new_version":"0.3.13","repository_url":"https://github.com/xhluca/bm25s"},{"name":"boto3","old_version":"1.35.57","new_version":"1.43.111","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.35.57","new_version":"1.43.111","repository_url":"https://github.com/boto/botocore"},{"name":"cffi","old_version":"2.0.0","new_version":"2.1.1","repository_url":"https://github.com/python-cffi/cffi"},{"name":"charset-normalizer","old_version":"3.4.0","new_version":"3.5.2","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.4.2","new_version":"8.5.0","repository_url":"https://github.com/pallets/click"},{"name":"cohere","old_version":"7.0.8","new_version":"7.2.0","repository_url":"https://github.com/cohere-ai/cohere-python"},{"name":"cohere-melody","old_version":"0.11.1","new_version":"0.15.2","repository_url":"https://github.com/cohere-ai/melody"},{"name":"colorlog","old_version":"6.10.1","new_version":"6.12.0","repository_url":"https://github.com/borntyping/python-colorlog"},{"name":"coverage","old_version":"7.10.6","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cramjam","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/milesgranger/pyrus-cramjam"},{"name":"cuda-bindings","old_version":"13.0.3","new_version":"13.4.3","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-pathfinder","old_version":"1.3.3","new_version":"1.8.3","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-toolkit","old_version":"13.0.3.0","new_version":"13.4.2"},{"name":"datamodel-code-generator","old_version":"0.26.3","new_version":"0.83.0","repository_url":"https://github.com/datamodel-code-generator/datamodel-code-generator"},{"name":"dataproperty","old_version":"1.0.1","new_version":"1.1.1","repository_url":"https://github.com/thombashi/DataProperty"},{"name":"decorator","old_version":"5.1.1","new_version":"5.3.1","repository_url":"https://github.com/micheles/decorator"},{"name":"detect-installer","old_version":"0.1.0","new_version":"0.2.1"},{"name":"dill","old_version":"0.3.8","new_version":"0.4.1","repository_url":"https://github.com/uqfoundation/dill"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.3","repository_url":"https://github.com/pypa/distlib"},{"name":"dnspython","old_version":"2.7.0","new_version":"2.8.0","repository_url":"https://github.com/rthalley/dnspython"},{"name":"docker","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/docker/docker-py"},{"name":"einx","old_version":"0.3.0","new_version":"0.4.3","repository_url":"https://github.com/fferflo/einx"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"fastapi-cloud-cli","old_version":"0.21.0","new_version":"0.26.0","repository_url":"https://github.com/fastapilabs/fastapi-cloud-cli"},{"name":"fastar","old_version":"0.11.0","new_version":"0.12.0","repository_url":"https://github.com/DoctorJohn/fastar"},{"name":"fastsafetensors","old_version":"0.3.3","new_version":"0.4.0","repository_url":"https://github.com/foundation-model-stack/fastsafetensors"},{"name":"fonttools","old_version":"4.55.0","new_version":"4.65.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"frozenlist","old_version":"1.5.0","new_version":"1.8.0","repository_url":"https://github.com/aio-libs/frozenlist"},{"name":"genson","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/wolverdude/genson"},{"name":"google-api-core","old_version":"2.24.2","new_version":"2.42.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-auth","old_version":"2.40.2","new_version":"2.61.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-core","old_version":"2.4.3","new_version":"2.8.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-storage","old_version":"3.4.0","new_version":"3.17.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-crc32c","old_version":"1.7.1","new_version":"1.9.0","repository_url":"https://github.com/googleapis/python-crc32c"},{"name":"google-resumable-media","old_version":"2.7.2","new_version":"2.11.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"googleapis-common-protos","old_version":"1.70.0","new_version":"1.75.5","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"graphql-core","old_version":"3.2.6","new_version":"3.3.0","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"greenlet","old_version":"3.2.3","new_version":"3.5.6","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"grpcio","old_version":"1.78.0","new_version":"1.84.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-reflection","old_version":"1.78.0","new_version":"1.84.0"},{"name":"h11","old_version":"0.14.0","new_version":"0.16.0","repository_url":"https://github.com/python-hyper/h11"},{"name":"h2","old_version":"4.3.0","new_version":"4.4.1","repository_url":"https://github.com/python-hyper/h2"},{"name":"hf-xet","old_version":"1.6.0","new_version":"1.7.0","repository_url":"https://github.com/huggingface/xet-core"},{"name":"hiredis","old_version":"3.0.0","new_version":"3.4.2","repository_url":"https://github.com/redis/hiredis-py"},{"name":"hpack","old_version":"4.1.0","new_version":"4.2.0","repository_url":"https://github.com/python-hyper/hpack"},{"name":"httptools","old_version":"0.8.0","new_version":"0.9.0","repository_url":"https://github.com/MagicStack/httptools"},{"name":"httpx","old_version":"0.27.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"humanize","old_version":"4.11.0","new_version":"4.16.0","repository_url":"https://github.com/python-humanize/humanize"},{"name":"hypothesis","old_version":"6.131.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"idna","old_version":"3.10","new_version":"3.20","repository_url":"https://github.com/kjd/idna"},{"name":"imageio","old_version":"2.37.0","new_version":"2.38.0","repository_url":"https://github.com/imageio/imageio"},{"name":"iniconfig","old_version":"2.0.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"instanttensor","old_version":"0.1.9","new_version":"0.2.1","repository_url":"https://github.com/scitix/InstantTensor"},{"name":"jiter","old_version":"0.15.0","new_version":"0.17.0","repository_url":"https://github.com/pydantic/jiter"},{"name":"jmespath","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/jmespath/jmespath.py"},{"name":"joblib","old_version":"1.4.2","new_version":"1.6.0","repository_url":"https://github.com/joblib/joblib"},{"name":"jsonschema-rs","old_version":"0.46.5","new_version":"0.58.6","repository_url":"https://github.com/Stranger6667/jsonschema"},{"name":"kiwisolver","old_version":"1.4.7","new_version":"1.5.1","repository_url":"https://github.com/nucleic/kiwi"},{"name":"lazy-loader","old_version":"0.4","new_version":"0.6","repository_url":"https://github.com/scientific-python/lazy-loader"},{"name":"llguidance","old_version":"1.7.6","new_version":"1.9.1","repository_url":"https://github.com/microsoft/llguidance"},{"name":"llvmlite","old_version":"0.47.0","new_version":"0.50.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"mako","old_version":"1.3.10","new_version":"1.4.3","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.34.0","new_version":"1.39.0","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"msgpack","old_version":"1.1.0","new_version":"1.2.3","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"mteb","old_version":"2.8.3","new_version":"2.23.0","repository_url":"https://github.com/embeddings-benchmark/mteb"},{"name":"mypy-extensions","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/python/mypy_extensions"},{"name":"networkx","old_version":"3.2.1","new_version":"3.4.2","repository_url":"https://github.com/networkx/networkx"},{"name":"nltk","old_version":"3.9.1","new_version":"3.10.3","repository_url":"https://github.com/nltk/nltk"},{"name":"nvidia-cublas","old_version":"13.1.1.3","new_version":"13.8.1.7"},{"name":"nvidia-cuda-cupti","old_version":"13.0.85","new_version":"13.4.92"},{"name":"nvidia-cuda-nvrtc","old_version":"13.0.88","new_version":"13.4.92"},{"name":"nvidia-cuda-runtime","old_version":"13.0.96","new_version":"13.4.92"},{"name":"nvidia-cudnn-cu13","old_version":"9.20.0.48","new_version":"9.27.0.42"},{"name":"nvidia-cufft","old_version":"12.0.0.61","new_version":"12.4.0.43"},{"name":"nvidia-cufile","old_version":"1.15.1.6","new_version":"1.19.1.55"},{"name":"nvidia-cusolver","old_version":"12.0.4.66","new_version":"12.3.4.7"},{"name":"nvidia-cusparse","old_version":"12.6.3.3","new_version":"12.8.6.72"},{"name":"nvidia-cusparselt-cu13","old_version":"0.8.1","new_version":"0.10.0"},{"name":"nvidia-nccl-cu13","old_version":"2.29.7","new_version":"2.32.3"},{"name":"nvidia-nvjitlink","old_version":"13.0.88","new_version":"13.4.92"},{"name":"nvidia-nvshmem-cu13","old_version":"3.4.5","new_version":"3.8.0"},{"name":"nvidia-nvtx","old_version":"13.0.85","new_version":"13.4.92"},{"name":"opentelemetry-exporter-otlp-proto-common","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-http","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-prometheus","old_version":"0.56b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-proto","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.56b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"orjson","old_version":"3.11.5","new_version":"3.13.0","repository_url":"https://github.com/ijl/orjson"},{"name":"pathvalidate","old_version":"3.2.1","new_version":"3.3.1","repository_url":"https://github.com/thombashi/pathvalidate"},{"name":"peft","old_version":"0.19.1","new_version":"0.21.2","repository_url":"https://github.com/huggingface/peft"},{"name":"perceptron","old_version":"0.1.4","new_version":"0.4.0","repository_url":"https://github.com/perceptron-ai-inc/perceptron"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.12.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"pooch","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/fatiando/pooch"},{"name":"propcache","old_version":"0.2.0","new_version":"0.5.4","repository_url":"https://github.com/aio-libs/propcache"},{"name":"proto-plus","old_version":"1.26.1","new_version":"1.29.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"pycryptodomex","old_version":"3.22.0","new_version":"3.24.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"pydantic-core","old_version":"2.41.1","new_version":"2.50.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-extra-types","old_version":"2.10.5","new_version":"2.11.1","repository_url":"https://github.com/pydantic/pydantic-extra-types"},{"name":"pydantic-settings","old_version":"2.14.2","new_version":"2.15.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pygments","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pyjwt","old_version":"2.11.0","new_version":"2.15.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyparsing","old_version":"3.2.0","new_version":"3.3.3","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyrate-limiter","old_version":"4.4.0","new_version":"4.5.0","repository_url":"https://github.com/vutran1710/PyrateLimiter"},{"name":"pystemmer","old_version":"3.0.0","new_version":"3.1.0","repository_url":"https://github.com/snowballstem/pystemmer"},{"name":"pytest-forked","old_version":"1.6.0","new_version":"1.7.5","repository_url":"https://github.com/pytest-dev/pytest-forked"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.16.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-timeout","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/pytest-dev/pytest-timeout"},{"name":"python-rapidjson","old_version":"1.20","new_version":"1.25","repository_url":"https://github.com/python-rapidjson/python-rapidjson"},{"name":"rapidfuzz","old_version":"3.12.1","new_version":"3.14.5","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"referencing","old_version":"0.35.1","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"responses","old_version":"0.25.3","new_version":"0.26.3","repository_url":"https://github.com/getsentry/responses"},{"name":"rignore","old_version":"0.7.6","new_version":"0.8.1"},{"name":"runai-model-streamer","old_version":"0.15.7","new_version":"0.16.1"},{"name":"runai-model-streamer-azure","old_version":"0.15.7","new_version":"0.16.1"},{"name":"runai-model-streamer-gcs","old_version":"0.15.7","new_version":"0.16.1"},{"name":"runai-model-streamer-s3","old_version":"0.15.7","new_version":"0.16.1"},{"name":"s3transfer","old_version":"0.10.3","new_version":"0.19.2","repository_url":"https://github.com/boto/s3transfer"},{"name":"sacrebleu","old_version":"2.4.3","new_version":"2.6.0","repository_url":"https://github.com/mjpost/sacrebleu"},{"name":"schemathesis","old_version":"4.21.6","new_version":"4.30.1","repository_url":"https://github.com/schemathesis/schemathesis"},{"name":"scikit-learn","old_version":"1.5.2","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.13.1","new_version":"1.15.3","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.63.0","new_version":"2.71.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"six","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/benjaminp/six"},{"name":"soundfile","old_version":"0.12.1","new_version":"0.14.0","repository_url":"https://github.com/bastibe/python-soundfile"},{"name":"sse-starlette","old_version":"3.4.5","new_version":"3.5.0","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.15.0","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"tabulate","old_version":"0.9.0","new_version":"0.10.0","repository_url":"https://github.com/astanin/python-tabulate"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.2.1","repository_url":"https://github.com/jd/tenacity"},{"name":"tensorizer","old_version":"2.10.1","new_version":"2.12.1","repository_url":"https://github.com/coreweave/tensorizer"},{"name":"termcolor","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/termcolor/termcolor"},{"name":"threadpoolctl","old_version":"3.5.0","new_version":"3.7.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"triton","old_version":"3.7.1","new_version":"3.8.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"tritonclient","old_version":"2.64.0","new_version":"2.73.0","repository_url":"https://github.com/triton-inference-server/client"},{"name":"typer","old_version":"0.26.8","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"urllib3","old_version":"2.2.3","new_version":"2.8.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvloop","old_version":"0.22.1","new_version":"0.23.0","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"vector-quantize-pytorch","old_version":"1.21.2","new_version":"1.31.6","repository_url":"https://github.com/lucidrains/vector-quantizer-pytorch"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.9.2","repository_url":"https://github.com/jquast/wcwidth"},{"name":"yarl","old_version":"1.17.1","new_version":"1.25.1","repository_url":"https://github.com/aio-libs/yarl"},{"name":"conch-triton-kernels","old_version":"1.2.1","new_version":"1.3","repository_url":"https://github.com/stackav-oss/conch"},{"name":"tpu-inference","old_version":"0.26.0","new_version":"0.31.0","repository_url":"https://github.com/vllm-project/tpu-inference"},{"name":"pynvvideocodec","old_version":"2.0.4","new_version":"2.2.3"},{"name":"flashinfer-python","old_version":"0.6.16.post3","new_version":"0.7.1","repository_url":"https://github.com/flashinfer-ai/flashinfer"},{"name":"flashinfer-cubin","old_version":"0.6.16.post3","new_version":"0.7.1","repository_url":"https://github.com/flashinfer-ai/flashinfer"},{"name":"nvidia-cutlass-dsl","old_version":"4.6.2","new_version":"4.8.0","repository_url":"https://github.com/NVIDIA/cutlass"},{"name":"auto-round-lib","old_version":"0.14.2","new_version":"0.16.0","repository_url":"https://github.com/intel/auto-round"},{"name":"gitpython","old_version":"3.1.50","new_version":"3.2.0","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"griffelib","old_version":"2.0.2","new_version":"2.3.0"},{"name":"markdown","old_version":"3.10.2","new_version":"3.10.3","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"mkdocs-git-revision-date-localized-plugin","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/timvink/mkdocs-git-revision-date-localized-plugin"},{"name":"ruff","old_version":"0.15.12","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"zentorch","old_version":"2.13.0.0","new_version":"2.14.0.1","repository_url":"https://github.com/amd/ZenDNN-pytorch-plugin"},{"name":"b12x","old_version":"1.2.4","new_version":"1.5.0"}],"path":null,"ecosystem":"pip"},"body":"\u003e [!WARNING]\n\u003e Cooldown could not be applied because no publication date was available from the registry.\n\u003e\n\nBumps the minor-update group with 201 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tblib](https://github.com/ionelmc/python-tblib) | `3.1.0` | `3.2.2` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.2.28` | `2026.9.29` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.34.2` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.3` | `4.70.1` |\n| [transformers](https://github.com/huggingface/transformers) | `5.15.0` | `5.19.0` |\n| [tokenizers](https://github.com/huggingface/tokenizers) | `0.22.2` | `0.23.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.3` | `0.143.0` |\n| [starlette](https://github.com/Kludex/starlette) | `1.3.1` | `1.7.0` |\n| [aiohttp](https://github.com/aio-libs/aiohttp) | `3.13.3` | `3.14.5` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.0` | `2.14.0` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.0` | `0.26.0` |\n| [prometheus-fastapi-instrumentator](https://github.com/trallnag/prometheus-fastapi-instrumentator) | `8.0.2` | `8.1.0` |\n| [tiktoken](https://github.com/openai/tiktoken) | `0.12.0` | `0.14.0` |\n| [lark](https://github.com/lark-parser/lark) | `1.2.2` | `1.3.1` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.15.0` | `4.16.0` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.23.0` | `4.26.0` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `27.1.0` | `27.2.0` |\n| [msgspec](https://github.com/msgspec/msgspec) | `0.21.1` | `0.22.0` |\n| [mistral-common](https://github.com/mistralai/mistral-common) | `1.11.6` | `1.12.0` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.2.0` | `1.3.0` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.1.0` | `4.2.0` |\n| [pybase64](https://github.com/mayeut/pybase64) | `1.4.3` | `1.5.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| opentelemetry-semantic-conventions-ai | `0.4.13` | `0.5.1` |\n| [numba](https://numba.pydata.org) | `0.65.0` | `0.68.0` |\n| [torchcodec](https://github.com/pytorch/torchcodec) | `0.14.0+cu130` | `0.17.0` |\n| [absl-py](https://github.com/abseil/abseil-py) | `2.1.0` | `2.5.1` |\n| [accelerate](https://github.com/huggingface/accelerate) | `1.13.0` | `1.15.0` |\n| [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs) | `2.6.1` | `2.7.1` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.20.0` |\n| [annotated-types](https://github.com/annotated-types/annotated-types) | `0.7.0` | `0.8.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.14.1` | `4.15.1` |\n| arctic-inference | `0.1.1` | `0.3.0` |\n| [argcomplete](https://github.com/kislyuk/argcomplete) | `3.5.1` | `3.7.2` |\n| [audioread](https://github.com/beetbox/audioread) | `3.0.1` | `3.1.0` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.2` | `1.41.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.26.0` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.28.0` | `12.31.0` |\n| [blobfile](https://github.com/blobfile/blobfile) | `3.0.0` | `3.3.0` |\n| [bm25s](https://github.com/xhluca/bm25s) | `0.2.13` | `0.3.13` |\n| [boto3](https://github.com/boto/boto3) | `1.35.57` | `1.43.111` |\n| [botocore](https://github.com/boto/botocore) | `1.35.57` | `1.43.111` |\n| [cffi](https://github.com/python-cffi/cffi) | `2.0.0` | `2.1.1` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.0` | `3.5.2` |\n| [click](https://github.com/pallets/click) | `8.4.2` | `8.5.0` |\n| [cohere](https://github.com/cohere-ai/cohere-python) | `7.0.8` | `7.2.0` |\n| [cohere-melody](https://github.com/cohere-ai/melody) | `0.11.1` | `0.15.2` |\n| [colorlog](https://github.com/borntyping/python-colorlog) | `6.10.1` | `6.12.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.6` | `7.16.2` |\n| [cramjam](https://github.com/milesgranger/pyrus-cramjam) | `2.9.0` | `2.11.0` |\n| [cuda-bindings](https://github.com/NVIDIA/cuda-python) | `13.0.3` | `13.4.3` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.3.3` | `1.8.3` |\n| [cuda-toolkit](https://developer.nvidia.com/cuda-toolkit) | `13.0.3.0` | `13.4.2` |\n| [datamodel-code-generator](https://github.com/datamodel-code-generator/datamodel-code-generator) | `0.26.3` | `0.83.0` |\n| [dataproperty](https://github.com/thombashi/DataProperty) | `1.0.1` | `1.1.1` |\n| [decorator](https://github.com/micheles/decorator) | `5.1.1` | `5.3.1` |\n| detect-installer | `0.1.0` | `0.2.1` |\n| [dill](https://github.com/uqfoundation/dill) | `0.3.8` | `0.4.1` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.3` |\n| [dnspython](https://github.com/rthalley/dnspython) | `2.7.0` | `2.8.0` |\n| [docker](https://github.com/docker/docker-py) | `7.1.0` | `7.2.0` |\n| [einx](https://github.com/fferflo/einx) | `0.3.0` | `0.4.3` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [fastapi-cloud-cli](https://github.com/fastapilabs/fastapi-cloud-cli) | `0.21.0` | `0.26.0` |\n| [fastar](https://github.com/DoctorJohn/fastar) | `0.11.0` | `0.12.0` |\n| [fastsafetensors](https://github.com/foundation-model-stack/fastsafetensors) | `0.3.3` | `0.4.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.55.0` | `4.65.0` |\n| [frozenlist](https://github.com/aio-libs/frozenlist) | `1.5.0` | `1.8.0` |\n| [genson](https://github.com/wolverdude/genson) | `1.3.0` | `1.4.0` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.24.2` | `2.42.0` |\n| [google-auth](https://github.com/googleapis/google-cloud-python) | `2.40.2` | `2.61.0` |\n| [google-cloud-core](https://github.com/googleapis/google-cloud-python) | `2.4.3` | `2.8.0` |\n| [google-cloud-storage](https://github.com/googleapis/google-cloud-python) | `3.4.0` | `3.17.0` |\n| [google-crc32c](https://github.com/googleapis/python-crc32c) | `1.7.1` | `1.9.0` |\n| [google-resumable-media](https://github.com/googleapis/google-cloud-python) | `2.7.2` | `2.11.0` |\n| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python) | `1.70.0` | `1.75.5` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.6` | `3.3.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.3` | `3.5.6` |\n| [grpcio](https://github.com/grpc/grpc) | `1.78.0` | `1.84.0` |\n| [grpcio-reflection](https://grpc.io) | `1.78.0` | `1.84.0` |\n| [h11](https://github.com/python-hyper/h11) | `0.14.0` | `0.16.0` |\n| [h2](https://github.com/python-hyper/h2) | `4.3.0` | `4.4.1` |\n| [hf-xet](https://github.com/huggingface/xet-core) | `1.6.0` | `1.7.0` |\n| [hiredis](https://github.com/redis/hiredis-py) | `3.0.0` | `3.4.2` |\n| [hpack](https://github.com/python-hyper/hpack) | `4.1.0` | `4.2.0` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.8.0` | `0.9.0` |\n| [httpx](https://github.com/encode/httpx) | `0.27.2` | `0.28.1` |\n| [humanize](https://github.com/python-humanize/humanize) | `4.11.0` | `4.16.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.131.0` | `6.168.5` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.20` |\n| [imageio](https://github.com/imageio/imageio) | `2.37.0` | `2.38.0` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.1` |\n| [instanttensor](https://github.com/scitix/InstantTensor) | `0.1.9` | `0.2.1` |\n| [jiter](https://github.com/pydantic/jiter) | `0.15.0` | `0.17.0` |\n| [jmespath](https://github.com/jmespath/jmespath.py) | `1.0.1` | `1.1.0` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.6.0` |\n| [jsonschema-rs](https://github.com/Stranger6667/jsonschema) | `0.46.5` | `0.58.6` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.7` | `1.5.1` |\n| [lazy-loader](https://github.com/scientific-python/lazy-loader) | `0.4` | `0.6` |\n| [llguidance](https://github.com/microsoft/llguidance) | `1.7.6` | `1.9.1` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.47.0` | `0.50.0` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.10` | `1.4.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.9` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.34.0` | `1.39.0` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.0` | `1.2.3` |\n| [mteb](https://github.com/embeddings-benchmark/mteb) | `2.8.3` | `2.23.0` |\n| [mypy-extensions](https://github.com/python/mypy_extensions) | `1.0.0` | `1.1.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.2.1` | `3.4.2` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.10.3` |\n| [nvidia-cublas](https://developer.nvidia.com/cuda-zone) | `13.1.1.3` | `13.8.1.7` |\n| [nvidia-cuda-cupti](https://developer.nvidia.com/cuda-zone) | `13.0.85` | `13.4.92` |\n| [nvidia-cuda-nvrtc](https://developer.nvidia.com/cuda-zone) | `13.0.88` | `13.4.92` |\n| [nvidia-cuda-runtime](https://developer.nvidia.com/cuda-zone) | `13.0.96` | `13.4.92` |\n| [nvidia-cudnn-cu13](https://developer.nvidia.com/cuda-zone) | `9.20.0.48` | `9.27.0.42` |\n| [nvidia-cufft](https://developer.nvidia.com/cuda-zone) | `12.0.0.61` | `12.4.0.43` |\n| [nvidia-cufile](https://developer.nvidia.com/cuda-zone) | `1.15.1.6` | `1.19.1.55` |\n| [nvidia-cusolver](https://developer.nvidia.com/cuda-zone) | `12.0.4.66` | `12.3.4.7` |\n| [nvidia-cusparse](https://developer.nvidia.com/cuda-zone) | `12.6.3.3` | `12.8.6.72` |\n| [nvidia-cusparselt-cu13](https://developer.nvidia.com/cusparselt) | `0.8.1` | `0.10.0` |\n| [nvidia-nccl-cu13](https://developer.nvidia.com/cuda-zone) | `2.29.7` | `2.32.3` |\n| [nvidia-nvjitlink](https://developer.nvidia.com/cuda-zone) | `13.0.88` | `13.4.92` |\n| [nvidia-nvshmem-cu13](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.8.0` |\n| [nvidia-nvtx](https://developer.nvidia.com/cuda-zone) | `13.0.85` | `13.4.92` |\n| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-prometheus](https://github.com/open-telemetry/opentelemetry-python) | `0.56b0` | `0.66b1` |\n| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.56b0` | `0.66b1` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.13.0` |\n| [pathvalidate](https://github.com/thombashi/pathvalidate) | `3.2.1` | `3.3.1` |\n| [peft](https://github.com/huggingface/peft) | `0.19.1` | `0.21.2` |\n| [perceptron](https://github.com/perceptron-ai-inc/perceptron) | `0.1.4` | `0.4.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.12.4` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [pooch](https://github.com/fatiando/pooch) | `1.8.2` | `1.9.0` |\n| [propcache](https://github.com/aio-libs/propcache) | `0.2.0` | `0.5.4` |\n| [proto-plus](https://github.com/googleapis/google-cloud-python) | `1.26.1` | `1.29.0` |\n| [pycryptodomex](https://github.com/Legrandin/pycryptodome) | `3.22.0` | `3.24.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.41.1` | `2.50.0` |\n| [pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | `2.10.5` | `2.11.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.2` | `2.15.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.18.0` | `2.21.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.11.0` | `2.15.1` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.0` | `3.3.3` |\n| [pyrate-limiter](https://github.com/vutran1710/PyrateLimiter) | `4.4.0` | `4.5.0` |\n| [pystemmer](https://github.com/snowballstem/pystemmer) | `3.0.0` | `3.1.0` |\n| [pytest-forked](https://github.com/pytest-dev/pytest-forked) | `1.6.0` | `1.7.5` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.16.0` |\n| [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) | `2.3.1` | `2.4.0` |\n| [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) | `1.20` | `1.25` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.12.1` | `3.14.5` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.35.1` | `0.37.0` |\n| [responses](https://github.com/getsentry/responses) | `0.25.3` | `0.26.3` |\n| rignore | `0.7.6` | `0.8.1` |\n| runai-model-streamer | `0.15.7` | `0.16.1` |\n| runai-model-streamer-azure | `0.15.7` | `0.16.1` |\n| runai-model-streamer-gcs | `0.15.7` | `0.16.1` |\n| runai-model-streamer-s3 | `0.15.7` | `0.16.1` |\n| [s3transfer](https://github.com/boto/s3transfer) | `0.10.3` | `0.19.2` |\n| [sacrebleu](https://github.com/mjpost/sacrebleu) | `2.4.3` | `2.6.0` |\n| [schemathesis](https://github.com/schemathesis/schemathesis) | `4.21.6` | `4.30.1` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.5.2` | `1.7.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.13.1` | `1.15.3` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.63.0` | `2.71.0` |\n| [six](https://github.com/benjaminp/six) | `1.16.0` | `1.17.0` |\n| [soundfile](https://github.com/bastibe/python-soundfile) | `0.12.1` | `0.14.0` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.4.5` | `3.5.0` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.15.0` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [tabulate](https://github.com/astanin/python-tabulate) | `0.9.0` | `0.10.0` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.2.1` |\n| [tensorizer](https://github.com/coreweave/tensorizer) | `2.10.1` | `2.12.1` |\n| [termcolor](https://github.com/termcolor/termcolor) | `3.1.0` | `3.3.0` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.5.0` | `3.7.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.7.1` | `3.8.0` |\n| [tritonclient](https://github.com/triton-inference-server/client) | `2.64.0` | `2.73.0` |\n| [typer](https://github.com/fastapi/typer) | `0.26.8` | `0.27.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.8.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.54.0` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.22.1` | `0.23.0` |\n| [vector-quantize-pytorch](https://github.com/lucidrains/vector-quantizer-pytorch) | `1.21.2` | `1.31.6` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.9.2` |\n| [yarl](https://github.com/aio-libs/yarl) | `1.17.1` | `1.25.1` |\n| [conch-triton-kernels](https://github.com/stackav-oss/conch) | `1.2.1` | `1.3` |\n| [tpu-inference](https://github.com/vllm-project/tpu-inference) | `0.26.0` | `0.31.0` |\n| pynvvideocodec | `2.0.4` | `2.2.3` |\n| [flashinfer-python](https://github.com/flashinfer-ai/flashinfer) | `0.6.16.post3` | `0.7.1` |\n| [flashinfer-cubin](https://github.com/flashinfer-ai/flashinfer) | `0.6.16.post3` | `0.7.1` |\n| [nvidia-cutlass-dsl](https://github.com/NVIDIA/cutlass) | `4.6.2` | `4.8.0` |\n| [auto-round-lib](https://github.com/intel/auto-round) | `0.14.2` | `0.16.0` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.50` | `3.2.0` |\n| griffelib | `2.0.2` | `2.3.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10.2` | `3.10.3` |\n| [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) | `1.5.1` | `1.6.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.17.0` |\n| [zentorch](https://github.com/amd/ZenDNN-pytorch-plugin) | `2.13.0.0` | `2.14.0.1` |\n| b12x | `1.2.4` | `1.5.0` |\n\n\nUpdates `tblib` from 3.1.0 to 3.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ionelmc/python-tblib/blob/master/CHANGELOG.rst\"\u003etblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.2.2 (2025-11-12)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed regression occurring with ``TimeoutError`` exceptions. They should be represented now exactly as the original when unpickling.\n  Contributed by Jacob Tomlinson in `[#85](https://github.com/ionelmc/python-tblib/issues/85) \u0026lt;https://github.com/ionelmc/python-tblib/pull/85\u0026gt;`_.\n\u003cp\u003e3.2.1 (2025-10-31)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed regression occurring with \u003ccode\u003eExceptionGroup\u003c/code\u003e exceptions. That exception type is now handled specifically in the new \u003ccode\u003eunpickle_exception_with_attrs\u003c/code\u003e function (just like \u003ccode\u003eOSError\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.2.0 (2025-10-21)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Changed ``tblib.pickling_support.install`` to support exceptions with ``__init__`` that does match the default\n  ``BaseException.__reduce__`` (as it expects the positional arguments to ``__init__`` to match the ``args`` attribute).\n\u003cp\u003eSpecial handling for OSError (and subclasses) is also included. The errno, strerror, winerror, filename and filename2 attributes will be added in the reduce structure (if set).\u003c/p\u003e\n\u003cp\u003eThis will support exception subclasses that do this without defining a custom \u003ccode\u003e__reduce__\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: python\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003edef __init__(self):\n    super().__init__('mistery argument')\n\ndef __init__(self, mistery_argument):\n    super().__init__()\n    self.mistery_argument = mistery_argument\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTests and POC contributed by Oldřich Jedlička in \u003ccode\u003e[#73](https://github.com/ionelmc/python-tblib/issues/73) \u0026amp;lt;https://github.com/ionelmc/python-tblib/pull/73\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed some doctest and coverage config. Contributed by Colin Watson in \u003ccode\u003e[#79](https://github.com/ionelmc/python-tblib/issues/79) \u0026amp;lt;https://github.com/ionelmc/python-tblib/pull/79\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/ionelmc/python-tblib/commit/d88606aab343749dfeccf16a813f63cbe2dae11e\"\u003e\u003ccode\u003ed88606a\u003c/code\u003e\u003c/a\u003e Bump version: 3.2.1 → 3.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/530f8743f1ed322f220621d8491e660636065279\"\u003e\u003ccode\u003e530f874\u003c/code\u003e\u003c/a\u003e Add test for timeouterror regression. Ref \u003ca href=\"https://redirect.github.com/ionelmc/python-tblib/issues/85\"\u003e#85\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/9c8f2ca0e7c061cc423207986af6f06aaa76cfee\"\u003e\u003ccode\u003e9c8f2ca\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/df6185d4b942a37d48a0e082b885380b8c5cc5ad\"\u003e\u003ccode\u003edf6185d\u003c/code\u003e\u003c/a\u003e Handle optional OSError attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/b197023aa86b831834393fdd89c6439fe2ffaf0c\"\u003e\u003ccode\u003eb197023\u003c/code\u003e\u003c/a\u003e Bump version: 3.2.0 → 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/d71e1edc9da5a86e326406ea4372cce5c075b4f4\"\u003e\u003ccode\u003ed71e1ed\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/74ec64570acb0d6ce708c695ab98d52d08f8b066\"\u003e\u003ccode\u003e74ec645\u003c/code\u003e\u003c/a\u003e Specifically handle ExceptionGroup in the new unpickle_exception_with_attrs. ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/580d57921a6e93660bf47771f70c0bfbe70e9c97\"\u003e\u003ccode\u003e580d579\u003c/code\u003e\u003c/a\u003e Ooops, forgot to update these.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/ebc83e93b6342950cb93cf296991fb99ce4aa13a\"\u003e\u003ccode\u003eebc83e9\u003c/code\u003e\u003c/a\u003e Bump version: 3.1.0 → 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/abec37d4526fb86f95c7567644f1fd6c2cec4215\"\u003e\u003ccode\u003eabec37d\u003c/code\u003e\u003c/a\u003e Update changelog and add one more test.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ionelmc/python-tblib/compare/v3.1.0...v3.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2026.2.28 to 2026.9.29\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2026.9.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated to Unicode 18.0.0.\n\u003cp\u003eSwitched to using stdbool.h and stdint.h.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eVersion: 2026.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 619: `Match.expand()` segfaults after `detach_string()` when the template references a group\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFixed version.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.9\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ePR [#615](https://github.com/mrabarnett/mrab-regex/issues/615): Fix Python API error propagation in match helpers\n\u003cp\u003ePR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/616\"\u003e#616\u003c/a\u003e: Preserve Python Exceptions in Input Decoding and String Detachment\u003c/p\u003e\n\u003cp\u003ePR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/617\"\u003e#617\u003c/a\u003e: Prevent Invalid Pointer Use and Exception State Corruption in Byte String Joining\u003c/p\u003e\n\u003cp\u003ePR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/618\"\u003e#618\u003c/a\u003e: Propagate Allocation and Internal Errors During Pattern Compilation and Scanner Execution\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eVersion: 2026.9.3\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eNew version of cibuildwheel no longer supports building for free-threaded Python 3.13.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eNew version of cibuildwheel no longer needs nor supports cpython-freethreading option.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated cibuildwheel.\nSupport Python 3.15.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.8.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFixed version.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.8.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 611: Heap out-of-bounds write at compile time\nGit issue 612: count_one() size underflow through the stale required-string cache\nGit issue 613: (*SKIP) inside an atomic group, plus an equality-only scan stop\nGit issue 614: build_GROUP() does not propagate the match direction\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.8.12\u003c/p\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/0e8cb0596ba6572c66e5d153a1d7c901b381e15e\"\u003e\u003ccode\u003e0e8cb05\u003c/code\u003e\u003c/a\u003e Updated to Unicode 18.0.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/85e568c0e0be620b4ebe50c98ea92415f5995ffc\"\u003e\u003ccode\u003e85e568c\u003c/code\u003e\u003c/a\u003e Git issue 619: \u003ccode\u003eMatch.expand()\u003c/code\u003e segfaults after \u003ccode\u003edetach_string()\u003c/code\u003e when the te...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7dd71c15c4fb5c94206bed1763abd4c2bd2f1b33\"\u003e\u003ccode\u003e7dd71c1\u003c/code\u003e\u003c/a\u003e Fixed version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/59124d62299e212931786aa74ead15388abaf376\"\u003e\u003ccode\u003e59124d6\u003c/code\u003e\u003c/a\u003e PR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/615\"\u003e#615\u003c/a\u003e: Fix Python API error propagation in match helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/25e15218bd44ca26677e3c28709e94a0ca0d9b8e\"\u003e\u003ccode\u003e25e1521\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/618\"\u003e#618\u003c/a\u003e from dynapx/fix-compiler-error-propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/3ad78cfb73850c2f1178d19553fa14661f73d9cb\"\u003e\u003ccode\u003e3ad78cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/616\"\u003e#616\u003c/a\u003e from dynapx/fix-detach-string-error-propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/f54253c332574bd5a9d96d3ec9d62b5db954dac7\"\u003e\u003ccode\u003ef54253c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/615\"\u003e#615\u003c/a\u003e from dynapx/fix-python-api-error-propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/c44224476cd6a6e53be0e458dfdcf3b81d76e426\"\u003e\u003ccode\u003ec442244\u003c/code\u003e\u003c/a\u003e Propagate scanner internal errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/68837e7af862250cd08fa49ff584a2bbff246e0f\"\u003e\u003ccode\u003e68837e7\u003c/code\u003e\u003c/a\u003e Propagate node stack allocation failures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/f1df5387982d526cc9475fddcc8d1043b02ffc9a\"\u003e\u003ccode\u003ef1df538\u003c/code\u003e\u003c/a\u003e Propagate check stack allocation failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2026.2.28...2026.9.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.34.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.34.2\u003c/h2\u003e\n\u003ch2\u003e2.34.2 (2026-05-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003eheaders\u003c/code\u003e input type back to \u003ccode\u003eMapping\u003c/code\u003e to avoid invariance issues with \u003ccode\u003eMutableMapping\u003c/code\u003e and inferred dict types. Users calling \u003ccode\u003eRequest.headers.update()\u003c/code\u003e may need to narrow typing in their code. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7441\"\u003e#7441\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2342-2026-05-14\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2342-2026-05-14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.34.1\u003c/h2\u003e\n\u003ch2\u003e2.34.1 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWidened \u003ccode\u003ejson\u003c/code\u003e input type from \u003ccode\u003edict\u003c/code\u003e and \u003ccode\u003elist\u003c/code\u003e to \u003ccode\u003eMapping\u003c/code\u003e\nand \u003ccode\u003eSequence\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7436\"\u003e#7436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eheaders\u003c/code\u003e input type to MutableMapping and removed \u003ccode\u003eNone\u003c/code\u003e from\n\u003ccode\u003eRequest.headers\u003c/code\u003e typing to improve handling for users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7431\"\u003e#7431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.reason\u003c/code\u003e moved from \u003ccode\u003estr | None\u003c/code\u003e to \u003ccode\u003estr\u003c/code\u003e to improve handling\nfor users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7437\"\u003e#7437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where some bodies with custom \u003ccode\u003e__getattr__\u003c/code\u003e implementations\nweren't being properly detected as Iterables. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7433\"\u003e#7433\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/k223kim\"\u003e\u003ccode\u003e@​k223kim\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7433\"\u003epsf/requests#7433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2341-2026-05-13\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2341-2026-05-13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.34.0\u003c/h2\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. \u003cstrong\u003eWe believe types are comprehensive but if you find issues, please\nreport them to the \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003epinned tracking issue\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\u003c/li\u003e\n\u003c/ul\u003e\n\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/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.34.2 (2026-05-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003eheaders\u003c/code\u003e input type back to \u003ccode\u003eMapping\u003c/code\u003e to avoid invariance issues\nwith \u003ccode\u003eMutableMapping\u003c/code\u003e and inferred dict types. Users calling\n\u003ccode\u003eRequest.headers.update()\u003c/code\u003e may need to narrow typing in their code. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7441\"\u003e#7441\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.1 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWidened \u003ccode\u003ejson\u003c/code\u003e input type from \u003ccode\u003edict\u003c/code\u003e and \u003ccode\u003elist\u003c/code\u003e to \u003ccode\u003eMapping\u003c/code\u003e\nand \u003ccode\u003eSequence\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7436\"\u003e#7436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eheaders\u003c/code\u003e input type to MutableMapping and removed \u003ccode\u003eNone\u003c/code\u003e from\n\u003ccode\u003eRequest.headers\u003c/code\u003e typing to improve handling for users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7431\"\u003e#7431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.reason\u003c/code\u003e moved from \u003ccode\u003estr | None\u003c/code\u003e to \u003ccode\u003estr\u003c/code\u003e to improve handling\nfor users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7437\"\u003e#7437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where some bodies with custom \u003ccode\u003e__getattr__\u003c/code\u003e implementations\nweren't being properly detected as Iterables. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7433\"\u003e#7433\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. We believe types are comprehensive but if you find issues, please\nreport them to the pinned tracking issue.\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\nproxy_bypass implementation has been updated with CPython's fix from\nbpo-39057. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer incorrectly strips duplicate leading slashes in\nURI paths. This should address user issues with specific presigned\nURLs. Note the full fix requires urllib3 2.7.0+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6e83187b8feb273ed4c6cdab5efd8d54901dfab3\"\u003e\u003ccode\u003e6e83187\u003c/code\u003e\u003c/a\u003e v2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/84d10f0be83e8f6aeca8a05230c52216431c4d0b\"\u003e\u003ccode\u003e84d10f0\u003c/code\u003e\u003c/a\u003e Move Request.headers back to Mapping (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7441\"\u003e#7441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b7b549b54571d03950b16afd2d01bc6ff0348224\"\u003e\u003ccode\u003eb7b549b\u003c/code\u003e\u003c/a\u003e v2.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e511bc72777a94c45d004e010c597925092e1efe\"\u003e\u003ccode\u003ee511bc7\u003c/code\u003e\u003c/a\u003e Fix mutability issues with headers input types (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7431\"\u003e#7431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5691f596134c2feb121e595c77a0178921fcce61\"\u003e\u003ccode\u003e5691f59\u003c/code\u003e\u003c/a\u003e Update JsonType containers to read-based collections (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7436\"\u003e#7436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2144213c307691710c9d665700860fc4993c3035\"\u003e\u003ccode\u003e2144213\u003c/code\u003e\u003c/a\u003e Constrain Response.reason to str (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7437\"\u003e#7437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6404f345e562d962abe6700a1c357ec1e7e18232\"\u003e\u003ccode\u003e6404f34\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eprepare_body\u003c/code\u003e stream detection for \u003ccode\u003e__getattr__\u003c/code\u003e-based file wrappers (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7\"\u003e#7\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0b401c76b6e80a4eecf3c690085b2553f6e261ca\"\u003e\u003ccode\u003e0b401c7\u003c/code\u003e\u003c/a\u003e v2.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/86b378d3f60f828daa13ca50aa82e287ff7b66b4\"\u003e\u003ccode\u003e86b378d\u003c/code\u003e\u003c/a\u003e Align Session.get parameters with requests.get (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7429\"\u003e#7429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a4f9a5999bdb9bf2d6e7c8aa973b28cacb17134f\"\u003e\u003ccode\u003ea4f9a59\u003c/code\u003e\u003c/a\u003e Port bpo-39057 to Requests (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.34.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.3 to 4.70.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.70.1 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econtrib.concurrent\u003c/code\u003e: fix no-len iterables (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1830\"\u003e#1830\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1828\"\u003e#1828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: major overhaul (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1819\"\u003e#1819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate AI policy in PR template\u003c/li\u003e\n\u003cli\u003emisc lint \u0026amp; tidy\u003c/li\u003e\n\u003cli\u003eCI: bump workflow actions \u0026amp; pre-commit hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.70.0 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econtrib.concurrent\u003c/code\u003e: major improvements\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003eprocess_map(mp_context, max_tasks_per_child)\u003c/code\u003e, \u003ccode\u003ethread_map(thread_name_prefix)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1265\"\u003e#1265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003etotal\u003c/code\u003e based on shortest iterable length (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse default \u003ccode\u003emax_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1543\"\u003e#1543\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1530\"\u003e#1530\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport \u003ccode\u003etimeout\u003c/code\u003e, \u003ccode\u003ebuffersize\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1576\"\u003e#1576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove ETA (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1708\"\u003e#1708\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1161\"\u003e#1161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eas_completed\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1709\"\u003e#1709\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1565\"\u003e#1565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etqdm.concurrent.intepreter_map\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1777\"\u003e#1777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003easyncio\u003c/code\u003e: support iterables with only \u003ccode\u003e__aiter__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1714\"\u003e#1714\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1686\"\u003e#1686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport \u003ccode\u003ereset(float(\u0026quot;inf\u0026quot;))\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1783\"\u003e#1783\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1781\"\u003e#1781\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eframework: test \u0026amp; reduce wheel size (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1782\"\u003e#1782\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.69.1 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econtrib.logging\u003c/code\u003e: preserve filters (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1775\"\u003e#1775\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1581\"\u003e#1581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erich\u003c/code\u003e: misc fixes (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1773\"\u003e#1773\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003esupport generators (without \u003ccode\u003elen\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1391\"\u003e#1391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix potential \u003ccode\u003eAttributeError\u003c/code\u003e on exit (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003etotal=float('inf')\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1781\"\u003e#1781\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix potential \u003ccode\u003eAttributeError\u003c/code\u003e on exit (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1778\"\u003e#1778\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1668\"\u003e#1668\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1537\"\u003e#1537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix minor docs typos (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1780\"\u003e#1780\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1746\"\u003e#1746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.69.0 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003etqdm.asyncio.gather(..., return_exceptions=False)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1776\"\u003e#1776\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1671\"\u003e#1671\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1286\"\u003e#1286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc minor framework updates\n\u003cul\u003e\n\u003cli\u003ebump workflow actions \u0026amp; pre-commit hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.68.4 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etrim to \u003ccode\u003encols\u003c/code\u003e even when \u003ccode\u003e'{bar}' not in bar_format\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1717\"\u003e#1717\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1767\"\u003e#1767\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1658\"\u003e#1658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003etqdm.write\u003c/code\u003e when \u003ccode\u003estdout=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1768\"\u003e#1768\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1654\"\u003e#1654\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.68.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eutils\u003c/code\u003e: delay \u003ccode\u003eos.get_terminal_size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1763\"\u003e#1763\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eautonotebook\u003c/code\u003e: support QtConsole, Spyder, JupyterLite (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1763\"\u003e#1763\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1628\"\u003e#1628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1559\"\u003e#1559\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1283\"\u003e#1283\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1098\"\u003e#1098\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/512\"\u003e#512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eminor docs updates\n\u003cul\u003e\n\u003cli\u003efix typo (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003egit-fame\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003emisc minor framework updates\n\u003cul\u003e\n\u003cli\u003efix \u0026amp; update CI build\u003c/li\u003e\n\u003cli\u003epre-commit: add docs \u0026amp; metadata generation\u003c/li\u003e\n\u003cli\u003emove \u003ccode\u003etox.ini\u003c/code\u003e -\u0026gt; \u003ccode\u003epyproject.toml\u003c/code\u003e, move \u003ccode\u003etox-gh-actions\u003c/code\u003e -\u0026gt; \u003ccode\u003etox-gh\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd Python 3.14, drop 3.7 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/9cf5a12b1f955468a17f0ba3c59092b23e4258ac\"\u003e\u003ccode\u003e9cf5a12\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1830\"\u003e#1830\u003c/a\u003e from eaubin/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/24b9e1e08a097f1c30f2d235b63f9eb25ba47974\"\u003e\u003ccode\u003e24b9e1e\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/2a9e4e82ddba07c5dd6d126e23a4745b76ea49c8\"\u003e\u003ccode\u003e2a9e4e8\u003c/code\u003e\u003c/a\u003e contrib.concurrent: fix no-len iterables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/8d6ff8de5a9066de77d0a9df3e80a022a3dcf146\"\u003e\u003ccode\u003e8d6ff8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1819\"\u003e#1819\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bed379609c2c8300671c784c8f85a185c8cf6fb3\"\u003e\u003ccode\u003ebed3796\u003c/code\u003e\u003c/a\u003e tests: major overhaul\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/4d3d3194d5467e0701bc0f4b836a735273ef0868\"\u003e\u003ccode\u003e4d3d319\u003c/code\u003e\u003c/a\u003e AI policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/5dcb022b55553b60ed2131b64aa5bf1e65470df1\"\u003e\u003ccode\u003e5dcb022\u003c/code\u003e\u003c/a\u003e minor syntax update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/309effe4244bf45427c5add7f1bcf33f98a7b421\"\u003e\u003ccode\u003e309effe\u003c/code\u003e\u003c/a\u003e tests: pre-commit coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/604193aa03b5f5c0ad5f3d441951f0fbb515f1e4\"\u003e\u003ccode\u003e604193a\u003c/code\u003e\u003c/a\u003e tests: slight tidy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/17f1cac07c89943eb0e6082875b3821205308d4f\"\u003e\u003ccode\u003e17f1cac\u003c/code\u003e\u003c/a\u003e CI: bump workflow actions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.3...v4.70.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `transformers` from 5.15.0 to 5.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/transformers/releases\"\u003etransformers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease v5.19.0\u003c/h1\u003e\n\u003ch2\u003eNew Model additions\u003c/h2\u003e\n\u003ch3\u003eEmbeddingGemma2\u003c/h3\u003e\n\n\u003cp\u003eEmbeddingGemma 2 is a multimodal embedding model from Google built on the Gemma 4 architecture. It encodes text, images, audio, and video, individually or combined in one input, into a shared 768-dimensional vector space for cross-modal retrieval, semantic similarity, clustering, and classification. It uses Matryoshka Representation Learning, so embeddings can be truncated to 512, 256, or 128 dimensions. It also offers configurable visual and video token budgets, and unused vision or audio towers can be disabled at load time to save memory.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eLinks:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/transformers/main/en/model_doc/embedding_gemma2\"\u003eDocumentation\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSmthn smthn (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49364\"\u003e#49364\u003c/a\u003e) by \u003ca href=\"https://github.com/vasqu\"\u003e\u003ccode\u003e@​vasqu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/pull/49364\"\u003e#49364\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cp\u003eAll MoE models whose routers compute logits now return them when \u003ccode\u003eoutput_router_logits=True\u003c/code\u003e, following the Qwen3-MoE pattern (a \u003ccode\u003erouter_logits\u003c/code\u003e recorder on the base model, \u003ccode\u003eMoeModelOutputWithPast\u003c/code\u003e from the backbone, and a MoE causal LM output from the head), so code that relied on the previous outputs or their absence should read the router logits from these output classes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Return router logits from every MoE model that computes them (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48920\"\u003e#48920\u003c/a\u003e) by \u003ca href=\"https://github.com/qgallouedec\"\u003e\u003ccode\u003e@​qgallouedec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003eOwlv2ForObjectDetection.embed_image_query\u003c/code\u003e now selects the query box with the highest objectness score, as in the original OWLv2 notebook, instead of the OWL-ViT heuristic, so image-guided query embeddings and detections may differ from earlier releases.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Select the OWLv2 image query by objectness (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49200\"\u003e#49200\u003c/a\u003e) by \u003ca href=\"https://github.com/qgallouedec\"\u003e\u003ccode\u003e@​qgallouedec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ccode\u003e\u0026quot;paged|\u0026quot;\u003c/code\u003e prefix for SDPA and flash attention implementations is deprecated, so users should set the regular attention implementation (e.g. \u003ccode\u003esdpa\u003c/code\u003e or \u003ccode\u003eflash_attention_2\u003c/code\u003e) for continuous batching instead of \u003ccode\u003epaged|sdpa\u003c/code\u003e or \u003ccode\u003epaged|flash_attention_2\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Attention 🚨 Deprecate \u0026quot;paged|\u0026quot; prefix for SDPA and flash  (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49112\"\u003e#49112\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe regular flash and SDPA attention functions (\u003ccode\u003eflash_attention.py\u003c/code\u003e, \u003ccode\u003esdpa_attention.py\u003c/code\u003e) now support continuous batching directly, and \u003ccode\u003e\u0026quot;paged|...\u0026quot;\u003c/code\u003e implementations for these are redirected to them, while eager still requires the \u003ccode\u003e\u0026quot;paged|eager\u0026quot;\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Attention 🚨 Make regular attention support CB (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49101\"\u003e#49101\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIn continuous batching, the cache update for the index-based and block-table paths is now fused into a single call, which slightly changes the cache update function's behavior and affects any custom code that calls the separate update paths.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 [CB] 🚨 Fuse update for index and block table path (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49088\"\u003e#49088\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eContinuous batching internals changed in preparation for removing \u003ccode\u003e\u0026quot;paged\u0026quot;\u003c/code\u003e: `max\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 [CB] 🚨 Little fixes before removing \u0026quot;paged\u0026quot; (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49069\"\u003e#49069\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eParallelization\u003c/h2\u003e\n\u003cp\u003eExpert parallelism gains a token-dispatch implementation, selected via the new \u003ccode\u003eep_dispatch_experts\u003c/code\u003e plan rule and now the default for Qwen3 MoE and Mellum, which removes the requirement that EP size equal TP size. The \u003ccode\u003eTrainer\u003c/code\u003e was also adapted to work with expert parallelism, and the docs now note that PEFT adapters support tensor parallelism. A CI-related fix for pipeline-parallel chart2table inference was also included.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003edistributed\u003c/code\u003e]: adapt Trainer to work Expert Parallel (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48873\"\u003e#48873\u003c/a\u003e) by \u003ca href=\"https://github.com/3outeille\"\u003e\u003ccode\u003e@​3outeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48873\"\u003e#48873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003edistributed\u003c/code\u003e] Add expert-parallel token dispatch, default for Qwen3 MoE (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48865\"\u003e#48865\u003c/a\u003e) by \u003ca href=\"https://github.com/3outeille\"\u003e\u003ccode\u003e@​3outeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48865\"\u003e#48865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pp chart2table inference (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49225\"\u003e#49225\u003c/a\u003e) by \u003ca href=\"https://github.com/zucchini-nlp\"\u003e\u003ccode\u003e@​zucchini-nlp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49225\"\u003e#49225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[docs] TP for PEFT adapters (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49060\"\u003e#49060\u003c/a\u003e) by \u003ca href=\"https://github.com/stevhliu\"\u003e\u003ccode\u003e@​stevhliu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49060\"\u003e#49060\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCache\u003c/h2\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/c4c4605f961877852b89b97478536bb3a26b6fd1\"\u003e\u003ccode\u003ec4c4605\u003c/code\u003e\u003c/a\u003e v5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/92cd495f2720c064bc78eb2d93e28704c5bce51f\"\u003e\u003ccode\u003e92cd495\u003c/code\u003e\u003c/a\u003e Smthn smthn (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49364\"\u003e#49364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/a7e8ff2b949679a29d72462effc4da0b57a7b9f3\"\u003e\u003ccode\u003ea7e8ff2\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[CI] Temporarily disable AMD scheduled CI trigger\u0026quot; (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49271\"\u003e#49271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49362\"\u003e#49362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/571c5cc726d4a990def359fd44bcb57450e68990\"\u003e\u003ccode\u003e571c5cc\u003c/code\u003e\u003c/a\u003e ALM testx fIxing... (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49355\"\u003e#49355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/b4526a7658b216e6674f776cf7eac84b346fcd32\"\u003e\u003ccode\u003eb4526a7\u003c/code\u003e\u003c/a\u003e Fix DataCollatorForLanguageModeling ignoring seed=0 (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49349\"\u003e#49349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/5a27d2d2706cbd1ee36d1a8e8441656bb88e7f04\"\u003e\u003ccode\u003e5a27d2d\u003c/code\u003e\u003c/a\u003e Fix explicit kernelization modes for evaluation models (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49339\"\u003e#49339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/23c21ac874b0ea285aaefcf3d20791f016310c9b\"\u003e\u003ccode\u003e23c21ac\u003c/code\u003e\u003c/a\u003e fix(cohere_compass): add video to input_modalities (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49320\"\u003e#49320\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49323\"\u003e#49323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/f1d0d9fbe9d035baf7b6bae2a9eb7b28a3dc4577\"\u003e\u003ccode\u003ef1d0d9f\u003c/code\u003e\u003c/a\u003e GPT-OSS: read the clamped SwiGLU's alpha and limit from the config (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49346\"\u003e#49346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/9921402b20460e6efba90765ca4fae99dcc64abd\"\u003e\u003ccode\u003e9921402\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003edistributed\u003c/code\u003e] Default MoE \u003ccode\u003eep_plans\u003c/code\u003e to token dispatch (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/8625785e7e3e138a328ec2e678dc198e356e7c6c\"\u003e\u003ccode\u003e8625785\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003edistributed\u003c/code\u003e]: adapt Trainer to work Expert Parallel (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48873\"\u003e#48873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/transformers/compare/v5.15.0...v5.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokenizers` from 0.22.2 to 0.23.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/tokenizers/releases\"\u003etokenizers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.23.3 (python only)\u003c/h2\u003e\n\u003ch1\u003eRelease v0.23.3\u003c/h1\u003e\n\u003cp\u003ePython package release, other packages are unchanged\u003c/p\u003e\n\u003cp\u003e:rotating_light: Fixs a breaking change introduced in v0.23.1\u003c/p\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cp\u003ePatch for the python package with three fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLoosen the \u003ccode\u003ehuggingface_hub\u003c/code\u003e requirements to allow \u003ccode\u003ehuggingface_hub\u003c/code\u003e v2 \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2486#issuecomment-6062880361\"\u003ehuggingface/tokenizers#2486\u003c/a\u003e - Unblocks \u003ccode\u003etransformers\u003c/code\u003e installs\u003c/li\u003e\n\u003cli\u003eFix type hints not resolving for pyright: \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/issues/2456\"\u003ehuggingface/tokenizers#2456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix a breaking change from 0.23.1 regarding truncation and overflowing: \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/issues/2091\"\u003ehuggingface/tokenizers#2091\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/huggingface/tokenizers/compare/v0.23.2...v0.23.3\"\u003ehttps://github.com/huggingface/tokenizers/compare/v0.23.2...v0.23.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.2\u003c/h2\u003e\n\u003cp\u003eThis is the last v0 release, we are moving to v1!!\u003c/p\u003e\n\u003cp\u003eMore details coming soon 👀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate daachorse from 1.0.1 to 3.0.0 by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2050\"\u003ehuggingface/tokenizers#2050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCi test fixes by \u003ca href=\"https://github.com/sebpop\"\u003e\u003ccode\u003e@​sebpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2079\"\u003ehuggingface/tokenizers#2079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid full vocab clone in get_vocab_size() by \u003ca href=\"https://github.com/eunseo9311\"\u003e\u003ccode\u003e@​eunseo9311\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2074\"\u003ehuggingface/tokenizers#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin benchmark jobs to a larger dedicated runner by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2084\"\u003ehuggingface/tokenizers#2084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: target benchmark runners by group, not nonexistent label by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2090\"\u003ehuggingface/tokenizers#2090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBindings: acquire model read-lock once per call instead of per pre-token by \u003ca href=\"https://github.com/sebpop\"\u003e\u003ccode\u003e@​sebpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2072\"\u003ehuggingface/tokenizers#2072\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: split audit in a separate job by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2103\"\u003ehuggingface/tokenizers#2103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: install libcairo on benchmark runners by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2100\"\u003ehuggingface/tokenizers#2100\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(ci): enable npm's trusted publisher for releases by \u003ca href=\"https://github.com/McPatate\"\u003e\u003ccode\u003e@​McPatate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2111\"\u003ehuggingface/tokenizers#2111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump pyo3 to version 0.29 by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2115\"\u003ehuggingface/tokenizers#2115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add benchmarks for the \u003ccode\u003edecode\u003c/code\u003e API by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2099\"\u003ehuggingface/tokenizers#2099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: cache HF test data and authenticate Hub downloads to avoid rate limits by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2102\"\u003ehuggingface/tokenizers#2102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplementing Parity-aware BPE by \u003ca href=\"https://github.com/cimeister\"\u003e\u003ccode\u003e@​cimeister\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/1974\"\u003ehuggingface/tokenizers#1974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake doc builds faster by \u003ca href=\"https://github.com/mishig25\"\u003e\u003ccode\u003e@​mishig25\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2158\"\u003ehuggingface/tokenizers#2158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump websocket-driver from 0.7.4 to 0.7.5 in /tokenizers/examples/unstable_wasm/www by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2208\"\u003ehuggingface/tokenizers#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump shell-quote from 1.8.3 to 1.10.0 in /tokenizers/examples/unstable_wasm/www by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2244\"\u003ehuggingface/tokenizers#2244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove stale examples (kills 50% of dependabot traffic) by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2285\"\u003ehuggingface/tokenizers#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(node): drop 8 unused devDependencies by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2286\"\u003ehuggingface/tokenizers#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin every action to one SHA, drop stale audit suppressions by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2291\"\u003ehuggingface/tokenizers#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(node): take node security alerts from 33 to 0 by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2287\"\u003ehuggingface/tokenizers#2287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(python): pin the ruff rule set so a ruff release can't redden main by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2292\"\u003ehuggingface/tokenizers#2292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a ParityBpeTrainer example and list it in the trainers API docs by \u003ca href=\"https://github.com/cimeister\"\u003e\u003ccode\u003e@​cimeister\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2217\"\u003ehuggingface/tokenizers#2217\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/eunseo9311\"\u003e\u003ccode\u003e@​eunseo9311\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2074\"\u003ehuggingface/tokenizers#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cimeister\"\u003e\u003ccode\u003e@​cimeister\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/1974\"\u003ehuggingface/tokenizers#1974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/huggingface/tokenizers/compare/v0.23.1...v0.23.2\"\u003ehttps://github.com/huggingface/tokenizers/compare/v0.23.1...v0.23.2\u003c/a\u003e\u003c/p\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/301277072263fb3830eb66eec7e47adadf76f1dc\"\u003e\u003ccode\u003e3012770\u003c/code\u003e\u003c/a\u003e comment out semver to run rust tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/62c96d34e54dc4e9bb45a4066141b3e43a0f7eb0\"\u003e\u003ccode\u003e62c96d3\u003c/code\u003e\u003c/a\u003e fix: restore overflowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/580ffcbb416458003f59251d5649b52cbabb184d\"\u003e\u003ccode\u003e580ffcb\u003c/code\u003e\u003c/a\u003e account for text_signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/14e6dce85597c1715dc11bd432f691bd4f95e500\"\u003e\u003ccode\u003e14e6dce\u003c/code\u003e\u003c/a\u003e fix(python): ship submodule stubs as \u0026lt;sub\u0026gt;/\u003cstrong\u003einit\u003c/strong\u003e.pyi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/935453f9c0e65f52c6f8fba95a553042c5fab072\"\u003e\u003ccode\u003e935453f\u003c/code\u003e\u003c/a\u003e chore(python): delete the stale hand-written trainers stub\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/65903e3552c360d8c1d4fb362dfbfd92613e0dde\"\u003e\u003ccode\u003e65903e3\u003c/code\u003e\u003c/a\u003e ci: disable rust and node publishing on the 0.23.x branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/2b110f429756d4c9cc9ee2625712e2dcc14fcf0d\"\u003e\u003ccode\u003e2b110f4\u003c/code\u003e\u003c/a\u003e ci: remove CI.yml, it publishes to PyPI with a token on every tag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/ac1dfefb891198674d7b78880ab8c3f2ed09ec92\"\u003e\u003ccode\u003eac1dfef\u003c/code\u003e\u003c/a\u003e ci(python-release): use main's Trusted Publishing release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/5ea330f567e2cb8c7640ebcaf5454a3b2ee20ac1\"\u003e\u003ccode\u003e5ea330f\u003c/code\u003e\u003c/a\u003e release(python): v0.23.3, allow huggingface_hub \u0026lt;3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/c2b33f8e16dac92ac530bf3ebd8d6c60ab7607c4\"\u003e\u003ccode\u003ec2b33f8\u003c/code\u003e\u003c/a\u003e update release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/tokenizers/compare/v0.22.2...v0.23.3\"\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.3 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull...\n\n_Description has been truncated_","html_url":"https://github.com/charlie12345/vLLM_for_AMD/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charlie12345%2FvLLM_for_AMD/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"},{"uuid":"5842613707","node_id":"PR_kwDOPFo1N88AAAABIUq6TQ","number":309,"state":"open","title":":dependabot: uv(deps): Bump the all-uv group across 1 directory with 5 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-10-14T05:43:14.000Z","updated_at":"2026-10-14T05:48:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":":dependabot: uv(deps): Bump","group_name":"all-uv","update_count":5,"packages":[{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.43.106","new_version":"1.43.111","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.43.106","new_version":"1.43.113","repository_url":"https://github.com/boto/botocore"},{"name":"numpy","old_version":"2.5.3","new_version":"2.5.4","repository_url":"https://github.com/numpy/numpy"},{"name":"hypothesis","old_version":"6.168.3","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-uv group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [boto3](https://github.com/boto/boto3) | `1.43.106` | `1.43.111` |\n| [botocore](https://github.com/boto/botocore) | `1.43.106` | `1.43.113` |\n| [numpy](https://github.com/numpy/numpy) | `2.5.3` | `2.5.4` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.3` | `6.168.5` |\n\n\nUpdates `pydantic` from 2.13.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.43.106 to 1.43.111\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c14ee96508bec2751d72e973bc067c9d7ab34793\"\u003e\u003ccode\u003ec14ee96\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.111'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2309640b015e63201c612ee3eeea175941703f98\"\u003e\u003ccode\u003e2309640\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1d6d2d9a8464e704b37da8f9b47f232eeab4a161\"\u003e\u003ccode\u003e1d6d2d9\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d948ed5c4b3ba0e93087113289f0aaaf70cd3c6c\"\u003e\u003ccode\u003ed948ed5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.110'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b19947c3cfcef75509aa9cf9c95447d8d732282\"\u003e\u003ccode\u003e9b19947\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.110' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/dedcde7ab830a2c18b22ede2cec687f8c83029a4\"\u003e\u003ccode\u003ededcde7\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.110\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e09fb1d72d443fc5a2350f468c9117d3c8d00280\"\u003e\u003ccode\u003ee09fb1d\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/76f85a723a20f562fc0d7eb1437d7b1865e01b7a\"\u003e\u003ccode\u003e76f85a7\u003c/code\u003e\u003c/a\u003e Bump \u003ca href=\"https://github.com/astral-sh/ruff-pre-commit\"\u003ehttps://github.com/astral-sh/ruff-pre-commit\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8afafece9c81678879a0580e69a1b57325db7351\"\u003e\u003ccode\u003e8afafec\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.109'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a2fc5c27d8830186f75423e25293dc5a97694bc\"\u003e\u003ccode\u003e1a2fc5c\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.109' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.43.106...1.43.111\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `botocore` from 1.43.106 to 1.43.113\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/5f4e0c03f674eeecc713c396f5489ab700b6afc0\"\u003e\u003ccode\u003e5f4e0c0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.113'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0bc9a3380f7ac5ee3498655f25818cd18a853ed4\"\u003e\u003ccode\u003e0bc9a33\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.113\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/d7ce073534345e7d24326bf7fb98ec7b93497753\"\u003e\u003ccode\u003ed7ce073\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/6b11f3e17547936c6f658293588d0fa1757e2e7e\"\u003e\u003ccode\u003e6b11f3e\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/ab57720575ac4fb0f0863caeca93c85e1cb8a1cc\"\u003e\u003ccode\u003eab57720\u003c/code\u003e\u003c/a\u003e Ignore unknown top-level keys in endpoint rulesets (\u003ca href=\"https://redirect.github.com/boto/botocore/issues/3819\"\u003e#3819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/05bce7efcdbc59b10ddfee58ccaa326b0d6b440e\"\u003e\u003ccode\u003e05bce7e\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.112'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/647d6ef1d19f4479f24527e71f9a29459defe29a\"\u003e\u003ccode\u003e647d6ef\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.112' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/90ecfedbd5734b28860317ed2b9235ada5605c3c\"\u003e\u003ccode\u003e90ecfed\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.112\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0005cfb54d570b4a1607a04a378246ea823b82eb\"\u003e\u003ccode\u003e0005cfb\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0723d72cddd310b4ad7c6169d21168298b2ff3f8\"\u003e\u003ccode\u003e0723d72\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.111'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.43.106...1.43.113\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.5.3 to 2.5.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.4 (Oct 10,  2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.5.4 Release Notes\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003eReleased on 2026-10-10.\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eNumPy 2.5.4 is a patch release that fixes bugs discovered after the 2.5.3\nrelease. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMany typing fixes and improvements,\u003c/li\u003e\n\u003cli\u003eA workaround for the MSVC 19.51 bug, see below.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.12-3.15.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003enumpy.linalg.svd\u003c/code\u003e and \u003ccode\u003enumpy.linalg.lstsq\u003c/code\u003e now raise for inputs containing\ninfinities instead of returning garbage results.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed hangs in \u003ccode\u003enumpy.linalg.svd\u003c/code\u003e and \u003ccode\u003enumpy.linalg.lstsq\u003c/code\u003e for certain inputs\ncontaining infinities for recent versions of some LAPACK implementations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003enumpy.linalg.cond\u003c/code\u003e now handles non-finite inputs more consistently.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/32593\"\u003egh-32593\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eStringDType hashing with NaN sentinels\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eStringDType\u003c/code\u003e instances with equivalent floating-point NaN sentinels now\nhave equal hashes. Previously, distinct NaN objects could produce equal\ndtype instances with different hashes, causing dictionary lookups and set\ndeduplication to fail.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/32563\"\u003egh-32563\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003eMaskedArray\u003c/code\u003e resets a fill_value that cannot be represented in a new dtype\u003c/h3\u003e\n\u003cp\u003eA fill_value copied from a source array is now reset to the default fill_value\nfor the new dtype when it cannot be represented in that dtype. Previously the\ncopied value could be stale: ufuncs that change dtype left the result holding a\nfill_value typed for the old dtype, which raised a \u003ccode\u003eTypeError\u003c/code\u003e only when\nsomething later validated it (such as \u003ccode\u003e.view()\u003c/code\u003e), and a floating point\nfill_value that overflows an integer dtype was kept as an out-of-range value\ntogether with a \u003ccode\u003eRuntimeWarning\u003c/code\u003e. Both now fall back to the default,\nincluding when a masked array is passed to \u003ccode\u003eMaskedArray\u003c/code\u003e with a different\n\u003ccode\u003edtype\u003c/code\u003e. A fill_value given explicitly by the user is still validated and\nraises as before. This can now raise a \u003ccode\u003eComplexWarning\u003c/code\u003e if the fill_value is\ncomplex and the new dtype is real.\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/numpy/numpy/commit/a3d0ef1df045b858e68115001fdabc930bb3b68c\"\u003e\u003ccode\u003ea3d0ef1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32969\"\u003e#32969\u003c/a\u003e from charris/prepare-2.5.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/087b5367c84b5296c32c26c415438d87d3888586\"\u003e\u003ccode\u003e087b536\u003c/code\u003e\u003c/a\u003e MAINT: Make OpenBLAS version check use 2.5.x branch.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/91acd879242a679604579895d490c26f864a4b03\"\u003e\u003ccode\u003e91acd87\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.5.4 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9cc555bae07244551829c3a4eb7a635bef6345b3\"\u003e\u003ccode\u003e9cc555b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32956\"\u003e#32956\u003c/a\u003e from charris/backport-typing-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e04b972a306136b8ac9219be199948badafa3475\"\u003e\u003ccode\u003ee04b972\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003edtype[void].names\u003c/code\u003e: allow setting with list (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32943\"\u003e#32943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d9299693d20c3fd1aa83b9464d074632cf59aaac\"\u003e\u003ccode\u003ed929969\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003etimedelta64\u003c/code\u003e: \u003ccode\u003edatetime.timedelta\u003c/code\u003e construction isn't deprecated (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/839467fdbcc1d68b68f4fe2a61d3387107c78394\"\u003e\u003ccode\u003e839467f\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003ema.getmaskarray\u003c/code\u003e: accept array-likes (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32934\"\u003e#32934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/64b721b23f51543ed9316a5fd21a48734760b429\"\u003e\u003ccode\u003e64b721b\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003epolynomial\u003c/code\u003e: accept scalar \u003ccode\u003ecoef\u003c/code\u003e in the poly constructors (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32931\"\u003e#32931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/06b7ad226e41b71919b2d35c50063998eced0b9d\"\u003e\u003ccode\u003e06b7ad2\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003evoid\u003c/code\u003e: accept any \u003ccode\u003edtype: str\u003c/code\u003e in constructor calls (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32928\"\u003e#32928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c7bcd2c0aaca732b87575829cc61508076de1af5\"\u003e\u003ccode\u003ec7bcd2c\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003eplace\u003c/code\u003e: widen \u003ccode\u003emask\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32926\"\u003e#32926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.5.3...v2.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.3 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.168.5\"\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/ministryofjustice/cica-review-case-documents-airflow/pull/309","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fcica-review-case-documents-airflow/issues/309","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/309/packages"},{"uuid":"5833576937","node_id":"PR_kwDOMMa-Ps8AAAABINfDkw","number":10201,"state":"closed","title":"Bump the python-packages group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["size: S","dependency","dependencies","python:uv","pkg:core"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-13T22:04:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-13T16:01:47.000Z","updated_at":"2026-10-13T22:04:55.000Z","time_to_close":21783,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":15,"packages":[{"name":"pydocket","old_version":"0.25.2","new_version":"0.26.1","repository_url":"https://github.com/chrisguidry/docket"},{"name":"exa-py","old_version":"2.22.2","new_version":"2.25.0"},{"name":"tavily-python","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/tavily-ai/tavily-python"},{"name":"inline-snapshot","old_version":"0.35.4","new_version":"0.36.0","repository_url":"https://github.com/15r10nk/inline-snapshot"},{"name":"pytest-mock","old_version":"3.15.1","new_version":"3.16.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"beartype","old_version":"0.22.9","new_version":"0.23.0rc2","repository_url":"https://github.com/beartype/beartype"},{"name":"mcp-types","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"azure-identity","old_version":"1.25.3","new_version":"1.26.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cassetter","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/Kludex/cassetter"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"griffecli","old_version":"2.3.0","new_version":"2.3.2"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"},{"name":"ruff","old_version":"0.16.8","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"logfire","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/pydantic/logfire"},{"name":"logfire-api","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/pydantic/logfire"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.25.2` | `0.26.1` |\n| exa-py | `2.22.2` | `2.25.0` |\n| [tavily-python](https://github.com/tavily-ai/tavily-python) | `0.8.4` | `0.8.5` |\n| [inline-snapshot](https://github.com/15r10nk/inline-snapshot) | `0.35.4` | `0.36.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.15.1` | `3.16.0` |\n| [beartype](https://github.com/beartype/beartype) | `0.22.9` | `0.23.0rc2` |\n| [mcp-types](https://github.com/modelcontextprotocol/python-sdk) | `2.2.0` | `2.3.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.3` | `1.26.0` |\n| [cassetter](https://github.com/Kludex/cassetter) | `0.13.0` | `0.14.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| griffecli | `2.3.0` | `2.3.2` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.8` | `0.16.10` |\n| [logfire](https://github.com/pydantic/logfire) | `5.1.0` | `5.1.1` |\n| [logfire-api](https://github.com/pydantic/logfire) | `5.1.0` | `5.1.1` |\n\n\nUpdates `pydocket` from 0.25.2 to 0.26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisguidry/docket/releases\"\u003epydocket's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython/v0.26.1 - Papers, please\u003c/h2\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/uesleilima\"\u003e\u003ccode\u003e@​uesleilima\u003c/code\u003e\u003c/a\u003e for sending in a great feature to support Redis credential \u003cem\u003eproviders\u003c/em\u003e!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTest Redis 6.2 and 8.10 and Valkey 9.1, and require redis-py 6 by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/517\"\u003echrisguidry/docket#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pydocket into python/ as the first uv workspace member by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/518\"\u003echrisguidry/docket#518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove the Lua scripts into protocol/ for every language to share by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/520\"\u003echrisguidry/docket#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun the same scenarios against each docket implementation by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/521\"\u003echrisguidry/docket#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept a redis-py credential provider in place of URL credentials by \u003ca href=\"https://github.com/uesleilima\"\u003e\u003ccode\u003e@​uesleilima\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/484\"\u003echrisguidry/docket#484\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/uesleilima\"\u003e\u003ccode\u003e@​uesleilima\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/484\"\u003echrisguidry/docket#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisguidry/docket/compare/0.26.0...python/v0.26.1\"\u003ehttps://github.com/chrisguidry/docket/compare/0.26.0...python/v0.26.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.26.0 - The \u003ccode\u003emax\u003c/code\u003e edition\u003c/h2\u003e\n\u003cp\u003eBe careful when you set reasoning to \u003ccode\u003emax\u003c/code\u003e, you may get more than you bargained for!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=AbSehcT19u0\"\u003e\u003cimg src=\"https://img.youtube.com/vi/AbSehcT19u0/0.jpg\" alt=\"What does it look like I'm doing??\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIn preparation for adding Docket implementations in some new languages :crab: :hamster:, I'm shoring up the Python implementation and its tests.  During that process, Opus 5.5 on \u003ccode\u003emax\u003c/code\u003e found a \u003cem\u003elot\u003c/em\u003e of things to work through.  All of these are material reliability improvements in the handling of cancellations and shutdown, and all have been tested against the major downstream libraries, like Prefect and FastMCP.\u003c/p\u003e\n\u003cp\u003eAlso big thanks for the first contribution, \u003ca href=\"https://github.com/skulitom\"\u003e\u003ccode\u003e@​skulitom\u003c/code\u003e\u003c/a\u003e!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump locked dependencies to clear the anyio advisories by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/482\"\u003echrisguidry/docket#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun CI on ubuntu-26.04 instead of ubuntu-latest by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/485\"\u003echrisguidry/docket#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix exponential retry overflow before applying maximum delay by \u003ca href=\"https://github.com/skulitom\"\u003e\u003ccode\u003e@​skulitom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/480\"\u003echrisguidry/docket#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead positional arguments for per-argument Cooldown, Debounce, and RateLimit by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/487\"\u003echrisguidry/docket#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSubscribe to a task's events before reading its state by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/488\"\u003echrisguidry/docket#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefuse to claim a task that was cancelled by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/489\"\u003echrisguidry/docket#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePublish the cancelled state when a task is cancelled before it starts by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/490\"\u003echrisguidry/docket#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReport running tasks in a snapshot on the memory backend by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/500\"\u003echrisguidry/docket#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up a cancelled concurrency waiter on the memory backend by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/501\"\u003echrisguidry/docket#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the all-dependencies group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/491\"\u003echrisguidry/docket#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the CI coverage gate and wrong examples in the docs by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/502\"\u003echrisguidry/docket#502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep the worker running when a task is cancelled before it starts by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/503\"\u003echrisguidry/docket#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep the Redis Cluster test fixture's ports from colliding by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/504\"\u003echrisguidry/docket#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRedeliver tasks that an abrupt worker shutdown interrupts by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/505\"\u003echrisguidry/docket#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCount a task as superseded when its newer generation was cancelled by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/508\"\u003echrisguidry/docket#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead a task's state before and after subscribing to its events by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/507\"\u003echrisguidry/docket#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePublish the cancelled state when a claim refuses a cancelled task by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/506\"\u003echrisguidry/docket#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLeave a cancelled task pending only while the worker shuts down by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/510\"\u003echrisguidry/docket#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeflake two tests that fail on slow CI runners by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/514\"\u003echrisguidry/docket#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop the worker's infrastructure tasks without relying on their cancel by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/515\"\u003echrisguidry/docket#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake the worker crash test lose its cancel on every run by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/516\"\u003echrisguidry/docket#516\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/skulitom\"\u003e\u003ccode\u003e@​skulitom\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/480\"\u003echrisguidry/docket#480\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/chrisguidry/docket/commit/7a7c3fd3184862c2cac65272b516bbebb6b7cb63\"\u003e\u003ccode\u003e7a7c3fd\u003c/code\u003e\u003c/a\u003e Accept a redis-py credential provider in place of URL credentials (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/46fb8a0f1cf8457b400b8b0d61a2155a105baca2\"\u003e\u003ccode\u003e46fb8a0\u003c/code\u003e\u003c/a\u003e Run the same scenarios against each docket implementation (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/e4a1c4e68309da9ed6d7c9c606ec2adde42df0f3\"\u003e\u003ccode\u003ee4a1c4e\u003c/code\u003e\u003c/a\u003e Move the Lua scripts into protocol/ for every language to share (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/985997652ed248308190b6dc507bd7da6826766c\"\u003e\u003ccode\u003e9859976\u003c/code\u003e\u003c/a\u003e Move pydocket into python/ as the first uv workspace member (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/ab7e40d2b7ad8f81ec9db7fae9d1acdd9b0beb5f\"\u003e\u003ccode\u003eab7e40d\u003c/code\u003e\u003c/a\u003e Test Redis 6.2 and 8.10 and Valkey 9.1, and require redis-py 6 (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/b1d7441499fce51f4e8f500d10364047e5a2167d\"\u003e\u003ccode\u003eb1d7441\u003c/code\u003e\u003c/a\u003e Make the worker crash test lose its cancel on every run (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/36ea4b5bc4554fe534c887a72d68fe2b643d6cee\"\u003e\u003ccode\u003e36ea4b5\u003c/code\u003e\u003c/a\u003e Stop the worker's infrastructure tasks without relying on their cancel (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/1f457b7c16b46f693911a2e0a8eee3c1d7de3651\"\u003e\u003ccode\u003e1f457b7\u003c/code\u003e\u003c/a\u003e Deflake two tests that fail on slow CI runners (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/514\"\u003e#514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/81e39618a34fa88d56172de8417e38074a38ab62\"\u003e\u003ccode\u003e81e3961\u003c/code\u003e\u003c/a\u003e Leave a cancelled task pending only while the worker shuts down (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/839e366722223fec132c683bffb142093b0ee9f9\"\u003e\u003ccode\u003e839e366\u003c/code\u003e\u003c/a\u003e Publish the cancelled state when a claim refuses a cancelled task (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisguidry/docket/compare/0.25.2...python/v0.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `exa-py` from 2.22.2 to 2.25.0\n\nUpdates `tavily-python` from 0.8.4 to 0.8.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tavily-ai/tavily-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `inline-snapshot` from 0.35.4 to 0.36.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/15r10nk/inline-snapshot/releases\"\u003einline-snapshot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ecustomize\u003c/code\u003e hook now receives a \u003ccode\u003esnapshot_value\u003c/code\u003e argument with the\ncorresponding existing snapshot value, or \u003ccode\u003e...\u003c/code\u003e when there is no\ncorresponding snapshot.\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/15r10nk/inline-snapshot/blob/main/CHANGELOG.md\"\u003einline-snapshot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.36.0 — 2026-10-02\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ecustomize\u003c/code\u003e hook now receives a \u003ccode\u003esnapshot_value\u003c/code\u003e argument with the\ncorresponding existing snapshot value, or \u003ccode\u003e...\u003c/code\u003e when there is no\ncorresponding snapshot.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\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/15r10nk/inline-snapshot/commit/a35fc5f509033adb70a4c0f7a69625e24a1c42c7\"\u003e\u003ccode\u003ea35fc5f\u003c/code\u003e\u003c/a\u003e bump: version 0.35.4 → 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/15r10nk/inline-snapshot/commit/d0ad531a1a96ba99b584c0cedf5b9b54ac685c53\"\u003e\u003ccode\u003ed0ad531\u003c/code\u003e\u003c/a\u003e feat: customize snapshot value (\u003ca href=\"https://redirect.github.com/15r10nk/inline-snapshot/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/15r10nk/inline-snapshot/compare/0.35.4...0.36.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.15.1 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.16.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-09-27\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/604\"\u003e#604\u003c/a\u003e: Fixed \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e for async functions spied with \u003ccode\u003emocker.spy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/611\"\u003e#611\u003c/a\u003e: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/606\"\u003e#606\u003c/a\u003e: \u003ccode\u003emocker.resetall(return_value=True, side_effect=True)\u003c/code\u003e now also applies to non-callable mocks, such as those returned by \u003ccode\u003emocker.create_autospec(SomeClass, instance=True)\u003c/code\u003e. Previously both arguments were silently ignored for them.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/547\"\u003e#547\u003c/a\u003e: Added \u003ccode\u003eSpyType\u003c/code\u003e for annotating \u003ccode\u003emocker.spy\u003c/code\u003e results.\u003c/li\u003e\n\u003cli\u003eDropped support for EOL Python 3.9.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/147\"\u003e#147\u003c/a\u003e: Removed handling of \u003ccode\u003eRuntimeError: stop called on unstarted patcher\u003c/code\u003e, which can no longer occur in the supported Python versions.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.15.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.16.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-09-27\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#604](https://github.com/pytest-dev/pytest-mock/issues/604) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/604\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e for async functions spied with \u003ccode\u003emocker.spy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#611](https://github.com/pytest-dev/pytest-mock/issues/611) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/611\u0026gt;\u003c/code\u003e_: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#606](https://github.com/pytest-dev/pytest-mock/issues/606) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/606\u0026gt;\u003c/code\u003e_: \u003ccode\u003emocker.resetall(return_value=True, side_effect=True)\u003c/code\u003e now also applies to non-callable mocks, such as those returned by \u003ccode\u003emocker.create_autospec(SomeClass, instance=True)\u003c/code\u003e. Previously both arguments were silently ignored for them.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#547](https://github.com/pytest-dev/pytest-mock/issues/547) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/547\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003eSpyType\u003c/code\u003e for annotating \u003ccode\u003emocker.spy\u003c/code\u003e results.\u003c/li\u003e\n\u003cli\u003eDropped support for EOL Python 3.9.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#147](https://github.com/pytest-dev/pytest-mock/issues/147) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/147\u0026gt;\u003c/code\u003e_: Removed handling of \u003ccode\u003eRuntimeError: stop called on unstarted patcher\u003c/code\u003e, which can no longer occur in the supported Python versions.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.15.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f3b531f93c6d9837edc87ea1a6f4324dc9a2cdf3\"\u003e\u003ccode\u003ef3b531f\u003c/code\u003e\u003c/a\u003e Release 3.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/71ed67309520be160f3e100368705b58758d237a\"\u003e\u003ccode\u003e71ed673\u003c/code\u003e\u003c/a\u003e Fix duplicate_iterators for async spies (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/0797e3d303cc5bbe0a3514b0625f7aeb3fa350b0\"\u003e\u003ccode\u003e0797e3d\u003c/code\u003e\u003c/a\u003e Fix async assertion argument introspection (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/611\"\u003e#611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e24c334d573cfbf6989a31f4e3346676d9d31598\"\u003e\u003ccode\u003ee24c334\u003c/code\u003e\u003c/a\u003e docs: import os in the opening usage example (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/9e7eb7b59cde362c1c8ace2d18ca00fe2d7a1cd1\"\u003e\u003ccode\u003e9e7eb7b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/445fd4d3daa8ed4c6d5428a77880da2e03d2f721\"\u003e\u003ccode\u003e445fd4d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/a8bd0b147afdf6b4bb1a1a3c3c088f32b0240091\"\u003e\u003ccode\u003ea8bd0b1\u003c/code\u003e\u003c/a\u003e Honour resetall() arguments for non-callable mocks (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/606\"\u003e#606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/6559fdfd5b67f096423e604a3a5a7045db2486a0\"\u003e\u003ccode\u003e6559fdf\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/466d026254c949a8fbba8626b894308827be81cf\"\u003e\u003ccode\u003e466d026\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/164defebde25bc31d53a2a64943c5c9aac43b57e\"\u003e\u003ccode\u003e164defe\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.15.1...v3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beartype` from 0.22.9 to 0.23.0rc2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/beartype/beartype/releases\"\u003ebeartype's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBeartype 0.23.0 Release Candidate 2: For Great Glory of Codebase\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFEATURE FREEZE goes \u0026quot;brrr.\u0026quot;\u003c/strong\u003e \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e is the final word in this interminable release cycle. It ends now. \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0\u003c/code\u003e lands next Wednesday (September 30th), a day before CPython 3.15.0 itself lands. For the next week, the \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e issue tracker is frozen in time like a QA Encino Man. No new features will be resolved. No new issues will be fixed (unless they're the QA equivalent of the Deathly Hallows, in which case we all cry). One more time, we gonna celebrate:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Via \u0026quot;pip\u0026quot;, the once-great venerable master packager now fallen on hard times:\r\n$ pip install --upgrade --pre beartype      # \u0026lt;-- you go, pipe-smoking pip\r\n\u003ch1\u003eVia \u0026quot;uv\u0026quot;, the plucky upstart spiky-haired kid wielding a sword larger than its body:\u003c/h1\u003e\n\u003cp\u003e$ uv pip install --upgrade --pre beartype   # \u0026lt;-- when you no longer have the strength to care about lock files\u003c/p\u003e\n\u003ch1\u003eVia \u0026quot;conda\u0026quot;, the corporate scientist in casual lab attire who wants to be your buddy, pal:\u003c/h1\u003e\n\u003cp\u003e$ conda config --add channels conda-forge  # \u0026lt;-- where did python packaging go wrong?\n$ conda install conda-forge::beartype      # \u0026lt;-- it all seemed so simple, once.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://media1.tenor.com/m/nmEqGMVGTJkAAAAC/inazuma-eleven-go-inago.gif\" alt=\"\" /\u003e\n\u003c!-- raw HTML omitted --\u003eFlying socker boy: \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e. Lamb: \u003cem\u003eyour codebase.\u003c/em\u003e Soccer ball: \u003cem\u003eyour bugs.\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e knows that no one is laughing anymore. You've had your fill of this release cycle! Frankly, so have we. An entire year of only crushing bugs has taken its toll on many receding hairlines. The reason there are no new features in \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0\u003c/code\u003e is the same reason I have no hair. When your younger self writes 100,000 lines of buggy code without testing anything, your older self is guaranteed to suffer. Don't do what the young \u003ca href=\"https://github.com/leycec\"\u003e\u003ccode\u003e@​leycec\u003c/code\u003e\u003c/a\u003e did, people. Upgrade to \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0\u003c/code\u003e instead and let something else crush your bugs for once.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e is helping \u003ca href=\"https://github.com/leycec\"\u003e\u003ccode\u003e@​leycec\u003c/code\u003e\u003c/a\u003e and his beautiful science wife to eat food. Thanks entirely to...\u003c/p\u003e\n\u003ch2\u003eGitHub Sponsors: Befriend the Bear and Get a Bear for Life\u003c/h2\u003e\n\u003cp\u003eThis release comes courtesy these proud \u003ca href=\"https://github.com/sponsors/leycec\"\u003eGitHub Sponsors\u003c/a\u003e, without whom everyone in the \u003ca href=\"https://github.com/leycec\"\u003e\u003ccode\u003e@​leycec\u003c/code\u003e\u003c/a\u003e family would currently be eating grasshoppers in the abandoned back lot again:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sesco-llc\"\u003e\u003ccode\u003e@​sesco-llc\u003c/code\u003e\u003c/a\u003e (SESCO Enterprises), \u0026quot;The Power of Innovation in Trading\u0026quot;: \u003c!-- raw HTML omitted --\u003e\u003cem\u003ethis inspires me to get out of the house and do something\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\n\u003ca href=\"https://sescollc.com\"\u003ehttps://sescollc.com\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e (Dylan Modesitt), quantitative strategies energy trading associate: \u003c!-- raw HTML omitted --\u003e\u003cem\u003e...wikipedia, don't fail me now!\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\n\u003ca href=\"https://dylanmodesitt.com\"\u003ehttps://dylanmodesitt.com\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Tidelift][]\u003c/strong\u003e, graciously paying out recurring income to security-sensitive open-source projects like \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e: \u003c!-- raw HTML omitted --\u003e\u003cem\u003eso much hype\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\n\u003ca href=\"https://www.sonarsource.com/products/sonarqube/advanced-security\"\u003ehttps://www.sonarsource.com/products/sonarqube/advanced-security\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you represent a security-conscious corporate, government, or non-profit, the \u003cem\u003ebest\u003c/em\u003e way bar none for you to support \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e and secure your own workflow is by subscribing to \u003cstrong\u003e[Tidelift][]\u003c/strong\u003e through \u003cstrong\u003e[SonarQube Advanced Security][].\u003c/strong\u003e Security giant [Sonar][] recently acquired [Tidelift][], guaranteeing the economic viability of the Tidelift model for billions of future open-source projects that have yet to be born. Join the jargon-laden conversation and pay someone else to think about unreadable acronyms like SAST, SCA, and SBOM for once.\u003c/p\u003e\n\u003cp\u003eThanks so much, masters of fintech and lifted tides.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://media1.tenor.com/m/BhQq0Wp4NoUAAAAd/hi-there-hi.gif\" alt=\"\" /\u003e\n\u003c!-- raw HTML omitted --\u003eThe Masters of Fintech and Lifted Tides. \u003cem\u003eThat's who.\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003ePlum and CrossHair Users: \u0026quot;You Know What to Do\u0026quot;\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e resolves a variety of compatibility issues for both \u003ca href=\"https://github.com/beartype/plum\"\u003e\u003cstrong\u003ePlum\u003c/strong\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/pschanely/crosshair\"\u003e\u003cstrong\u003eCrossHair\u003c/strong\u003e\u003c/a\u003e users. Other downstream dependencies leveraging our \u003ca href=\"https://beartype.readthedocs.io/en/latest/api_door/\"\u003e\u003cstrong\u003epublic \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e API\u003c/strong\u003e\u003c/a\u003e are also likely to benefit.\u003c/p\u003e\n\u003cp\u003eEveryone else may promptly fall asleep. These are not the QA droids you're looking for. :joy_cat: -\u0026gt; :sob:\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://media1.tenor.com/m/GhOS07plGSAAAAAd/godzilla-godzilla-evolve.gif\" alt=\"\" /\u003e\n\u003c!-- raw HTML omitted --\u003e\u003cem\u003esleeping in a burned out coliseum doesn't mean you've hit a new low...\u003c/em\u003e does it?\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003eLastly but Beastly (but not Leastly)...\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/beartype/beartype/commit/c62a014ba2a5265618c1c33881d5cecb23502858\"\u003e\u003ccode\u003ec62a014\u003c/code\u003e\u003c/a\u003e Beartype 0.23.0 Release Candidate 2: For Great Glory of Codebase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/ef906764b511a10f946c4a03d8e429879dc1e060\"\u003e\u003ccode\u003eef90676\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e safe memoization x 2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/2b29eaff58206f12df724367893aaa2bc64431e5\"\u003e\u003ccode\u003e2b29eaf\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e safe memoization x 1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/0d760a1b10e87be6714ed86b1e97f0f212669fed\"\u003e\u003ccode\u003e0d760a1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e memoization.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/6e8ba2d7138949c69a8f1755fd4f849db052aecb\"\u003e\u003ccode\u003e6e8ba2d\u003c/code\u003e\u003c/a\u003e PEP 695 circular \u003ccode\u003etype\u003c/code\u003e aliases.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/61561b1d940d361c0ccb2cade1b141922900e0e2\"\u003e\u003ccode\u003e61561b1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eTypeHint.__eq__\u003c/code\u003e and \u003ccode\u003e__hash__\u003c/code\u003e consistency x 4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/6a06c9e6f62a9a35c4f0e255d6dd81d5e5efed4c\"\u003e\u003ccode\u003e6a06c9e\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eTypeHint.__eq__\u003c/code\u003e and \u003ccode\u003e__hash__\u003c/code\u003e consistency x 3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/5fa5e6905776fc88ef8347e23bae4b91fe266568\"\u003e\u003ccode\u003e5fa5e69\u003c/code\u003e\u003c/a\u003e CrossHair import hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/70aec9397f6aacb7384933b76beb6e7da7d43e4e\"\u003e\u003ccode\u003e70aec93\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.typing\u003c/code\u003e missing attribute exception x 2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/cee4d5a2750c464cd144435526ee9e2120daef08\"\u003e\u003ccode\u003ecee4d5a\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.typing\u003c/code\u003e missing attribute exception x 1.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/beartype/beartype/compare/v0.22.9...v0.23.0rc2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp-types` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp-types's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003epip install -U mcp\u003c/code\u003e. Docs: \u003ca href=\"https://py.sdk.modelcontextprotocol.io/\"\u003ehttps://py.sdk.modelcontextprotocol.io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMostly fixes, plus three new options. A few things behave differently, so skim these first:\u003c/p\u003e\n\u003ch2\u003eBehaviour changes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003ehttpx2\u0026gt;=2.10.0\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt was \u003ccode\u003e\u0026gt;=2.5.0\u003c/code\u003e. The new \u003ccode\u003emax_sse_event_size\u003c/code\u003e option needs it.\u003c/li\u003e\n\u003cli\u003eNothing to do unless you pin \u003ccode\u003ehttpx2\u003c/code\u003e below 2.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eA tool with an invalid \u003ccode\u003ex-mcp-header\u003c/code\u003e annotation fails at registration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3620\"\u003e#3620\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@mcp.tool()\u003c/code\u003e, \u003ccode\u003eadd_tool\u003c/code\u003e and \u003ccode\u003eTool.from_function\u003c/code\u003e raise \u003ccode\u003eInvalidSignature\u003c/code\u003e, naming the tool and the problem.\u003c/li\u003e\n\u003cli\u003eUntil now the server started, and 2026-07-28 clients silently dropped the tool from their listing.\u003c/li\u003e\n\u003cli\u003eRefused: anything other than a plain \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e or \u003ccode\u003ebool\u003c/code\u003e parameter (so also \u003ccode\u003estr | None\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, lists and enums), a header name that isn't a valid token, and two names that differ only by case.\u003c/li\u003e\n\u003cli\u003eFor an optional header parameter, give the schema directly: \u003ccode\u003eAnnotated[str | None, WithJsonSchema({\u0026quot;type\u0026quot;: \u0026quot;string\u0026quot;, \u0026quot;x-mcp-header\u0026quot;: \u0026quot;Region\u0026quot;})] = None\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eEmpty \u003ccode\u003e_meta\u003c/code\u003e and \u003ccode\u003eparams\u003c/code\u003e are no longer sent\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOn 2025-11-25 and earlier connections, 2.x sent \u003ccode\u003e\u0026quot;_meta\u0026quot;: {}\u003c/code\u003e on every request. Some servers reject that. It is now left out, as in v1.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eping\u003c/code\u003e and list requests without a cursor go out with no \u003ccode\u003eparams\u003c/code\u003e member.\u003c/li\u003e\n\u003cli\u003eOn the receiving side \u003ccode\u003ectx.meta\u003c/code\u003e is \u003ccode\u003eNone\u003c/code\u003e rather than \u003ccode\u003e{}\u003c/code\u003e, and middleware sees \u003ccode\u003ectx.params\u003c/code\u003e as \u003ccode\u003eNone\u003c/code\u003e for a request without params.\u003c/li\u003e\n\u003cli\u003e2026-07-28 connections are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003einitialize\u003c/code\u003e leaves out \u003ccode\u003eexperimental\u003c/code\u003e when none is configured\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt used to send \u003ccode\u003e\u0026quot;experimental\u0026quot;: {}\u003c/code\u003e. \u003ccode\u003eserver/discover\u003c/code\u003e already left it out.\u003c/li\u003e\n\u003cli\u003eClient code reading \u003ccode\u003ecapabilities.experimental\u003c/code\u003e on a legacy connection should handle \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMcp-Param-*\u003c/code\u003e validation looks the tool up by name\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e no longer runs \u003ccode\u003etools/list\u003c/code\u003e for every \u003ccode\u003etools/call\u003c/code\u003e, so middleware no longer sees that extra request.\u003c/li\u003e\n\u003cli\u003eThe registered schema is what gets checked. Middleware that filters or rewrites \u003ccode\u003etools/list\u003c/code\u003e no longer affects it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAn interactive OAuth login no longer counts against request timeouts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe timeout pauses while \u003ccode\u003eOAuthClientProvider\u003c/code\u003e waits on \u003ccode\u003eredirect_handler\u003c/code\u003e and \u003ccode\u003ecallback_handler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThis fixes \u003ccode\u003eClient(mode=\u0026quot;auto\u0026quot;)\u003c/code\u003e settling on \u003ccode\u003e2025-11-25\u003c/code\u003e when the login took longer than 10 seconds.\u003c/li\u003e\n\u003cli\u003eA request timeout no longer ends a login nobody finishes. Put a limit inside \u003ccode\u003ecallback_handler\u003c/code\u003e if you need one.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emax_sse_event_size=\u003c/code\u003e on \u003ccode\u003estreamable_http_client\u003c/code\u003e and \u003ccode\u003eStreamableHttpParameters\u003c/code\u003e. The default stays 1 MiB per SSE event; raise it, or pass \u003ccode\u003eNone\u003c/code\u003e, for larger tool results (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer(subscriptions=False)\u003c/code\u003e stops serving \u003ccode\u003esubscriptions/listen\u003c/code\u003e and advertises \u003ccode\u003elistChanged\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e as false (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3626\"\u003e#3626\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eServer(get_tool_input_schema=...)\u003c/code\u003e lets a low-level server supply a tool's schema for header validation without running its \u003ccode\u003etools/list\u003c/code\u003e handler (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eClient.call_tool\u003c/code\u003e re-lists the tools and retries once after a \u003ccode\u003eHeaderMismatch\u003c/code\u003e (\u003ccode\u003e-32020\u003c/code\u003e) rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ectx: Context[AppState]\u003c/code\u003e works on prompts and resource templates, not only on tools (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3624\"\u003e#3624\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn explicit \u003ccode\u003e\u0026quot;structuredContent\u0026quot;: null\u003c/code\u003e is checked against the output schema instead of being treated as missing (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3621\"\u003e#3621\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eprogress_callback\u003c/code\u003e that raises no longer fails the call on an in-process \u003ccode\u003eClient(server)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3623\"\u003e#3623\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eClient OpenTelemetry spans record JSON-RPC error responses. With \u003ccode\u003emode=\u0026quot;auto\u0026quot;\u003c/code\u003e, connecting to a server without \u003ccode\u003eserver/discover\u003c/code\u003e now shows one \u003ccode\u003eERROR\u003c/code\u003e span for the probe (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estdio_client\u003c/code\u003e resolves the executable off the event loop on Windows (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3510\"\u003e#3510\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/modelcontextprotocol/python-sdk/commit/2118f14f8a19bc158d8a1cf90af58d85d187f849\"\u003e\u003ccode\u003e2118f14\u003c/code\u003e\u003c/a\u003e docs: refresh translations for recent English changes (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3636\"\u003e#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ed9b2d61823b3800de4c48abb23b951ad3a50834\"\u003e\u003ccode\u003eed9b2d6\u003c/code\u003e\u003c/a\u003e Stop counting an interactive OAuth login against request timeouts (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/d5cebd13defe97bf5bacb93496f132d4173cda23\"\u003e\u003ccode\u003ed5cebd1\u003c/code\u003e\u003c/a\u003e Keep inline-snapshot disabled when pytest runs in a terminal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3634\"\u003e#3634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c15566c9dd4828b8082fb7693060e3a0fd67e657\"\u003e\u003ccode\u003ec15566c\u003c/code\u003e\u003c/a\u003e Link What's new to the Header parameters page (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/4d29994023576e4b04e06c9ff2f32757abc50463\"\u003e\u003ccode\u003e4d29994\u003c/code\u003e\u003c/a\u003e Let a newer Deploy Docs run cancel the one in progress (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3633\"\u003e#3633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0acea605135759a2228a33eaa7d792fea2c2282b\"\u003e\u003ccode\u003e0acea60\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c54075ccb8793e9b0d37f0c9e2c58dfd0256c23d\"\u003e\u003ccode\u003ec54075c\u003c/code\u003e\u003c/a\u003e Look the tool schema up by name for Mcp-Param-* validation instead of running...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9afccae3d0bff4062add01b7fb746634b9aad2a7\"\u003e\u003ccode\u003e9afccae\u003c/code\u003e\u003c/a\u003e Retry a tool call once after a HeaderMismatch rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cafa33b3530b0af2e4a8467d11f92bc1cb00368e\"\u003e\u003ccode\u003ecafa33b\u003c/code\u003e\u003c/a\u003e Record JSON-RPC error responses on the client OpenTelemetry span (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0b2fd3ea60efb16b349e8c887cf91bf2f9f773fc\"\u003e\u003ccode\u003e0b2fd3e\u003c/code\u003e\u003c/a\u003e Omit an empty _meta and empty params from outbound requests (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-identity` from 1.25.3 to 1.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/releases\"\u003eazure-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.26.0\u003c/h2\u003e\n\u003ch2\u003e1.26.0 (2026-09-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eManagedIdentityCredential\u003c/code\u003e now supports user-assigned managed identities on Azure Arc-enabled servers. An identity can be selected by client ID, object ID, or resource ID. Token responses that do not confirm the requested identity are rejected. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/48967\"\u003e#48967\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed synchronous Service Fabric managed identity authentication with MSAL 1.39.0 and later. Service Fabric now uses the session from an Azure Core \u003ccode\u003eRequestsTransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/48967\"\u003e#48967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an issue where \u003ccode\u003eAuthorizationCodeCredential\u003c/code\u003e and the asynchronous \u003ccode\u003eOnBehalfOfCredential\u003c/code\u003e could return a cached token for another account when multiple credentials shared a token cache. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/49001\"\u003e#49001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eRequestIdPolicy\u003c/code\u003e to the default pipeline policies to ensure a unique \u003ccode\u003ex-ms-client-request-id\u003c/code\u003e header is sent with each request. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46070\"\u003e#46070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCertificateCredential\u003c/code\u003e now passes the PEM private key to MSAL as a \u003ccode\u003estr\u003c/code\u003e rather than \u003ccode\u003ebytes\u003c/code\u003e, matching MSAL's documented \u003ccode\u003eclient_credential\u003c/code\u003e contract. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46801\"\u003e#46801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.39.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/30d8bb95bf21f28fc5ed7a0fc9da43a46765c81e\"\u003e\u003ccode\u003e30d8bb9\u003c/code\u003e\u003c/a\u003e [identity] prepare azure-identity 1.26.0 release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49290\"\u003e#49290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c7148b7494ddfe0f726e35168fac7e513d458a90\"\u003e\u003ccode\u003ec7148b7\u003c/code\u003e\u003c/a\u003e [identity] Enable user-assigned managed identity for AzureArcCredential (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/48967\"\u003e#48967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c5b1f4f9138942a3746091c4dac7eda67a08edf2\"\u003e\u003ccode\u003ec5b1f4f\u003c/code\u003e\u003c/a\u003e [Identity] Fix identity cache issue (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49001\"\u003e#49001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9d085c1814586b0d4e91da6b463d288901c44c8d\"\u003e\u003ccode\u003e9d085c1\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-compute-bulkaction]-generated-from-SDK Generation - Python...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/efc412d8c56bbc428a12c057042a7c20818d1322\"\u003e\u003ccode\u003eefc412d\u003c/code\u003e\u003c/a\u003e [TA] fix release error (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49261\"\u003e#49261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3d9b8b3d98abc1191457f994f759f6b407dd9238\"\u003e\u003ccode\u003e3d9b8b3\u003c/code\u003e\u003c/a\u003e Prepare Responses 2.3.0b2 release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49281\"\u003e#49281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/8e49d150aaf513e014f6bef49e72c3e257b6c304\"\u003e\u003ccode\u003e8e49d15\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-resiliencemanagement]-generated-from-SDK Generation - Pyth...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ef68c78fa2bc6013e97bbb2335935f0f7e75ade0\"\u003e\u003ccode\u003eef68c78\u003c/code\u003e\u003c/a\u003e Preserve canonical agent reference in response snapshots (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49256\"\u003e#49256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3754db9e571e7f68407030d945b2aef1fd28cfa8\"\u003e\u003ccode\u003e3754db9\u003c/code\u003e\u003c/a\u003e Configurations:  'specification/applink/AppLink.Management/tspconfig.yaml', a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/0929352f45d0c3cea2fcadd4eacefffbf937abef\"\u003e\u003ccode\u003e0929352\u003c/code\u003e\u003c/a\u003e [Mgmt] Make review drafts and incomplete outcomes reliable (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49275\"\u003e#49275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-identity_1.25.3...azure-identity_1.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cassetter` from 0.13.0 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/cassetter/releases\"\u003ecassetter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0 - Assert on what your code sends\u003c/h2\u003e\n\u003ch2\u003e🔎 Assert on what your code sends\u003c/h2\u003e\n\u003cp\u003eCassetter 0.14.0 lets tests check what the code actually sent, catch recordings a test stopped using, and filter whole families of headers.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add cassetter==0.14.0\nnpm install --save-dev cassetter@0.14.0\ncargo add cassetter@0.14.0 reqwest\ngo get github.com/Kludex/cassetter/go@v0.14.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ecassette.sent_requests\u003c/code\u003e holds the HTTP requests the code sent during the test\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/pull/140\"\u003e#140\u003c/a\u003e), whether they were replayed or went live. The default matcher ignores the body, so asserting on \u003ccode\u003ecassette.requests\u003c/code\u003e keeps passing after the code stops sending a field. Requests are captured before hooks and scrubbing and are never saved.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eon_unplayed\u003c/code\u003e reports recordings a passing test didn't use\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/pull/139\"\u003e#139\u003c/a\u003e). Set \u003ccode\u003e\u0026quot;warn\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;fail\u0026quot;\u003c/code\u003e in \u003ccode\u003evcr_config\u003c/code\u003e, on the marker, or with the \u003ccode\u003evcr_on_unplayed\u003c/code\u003e ini option. Only passing tests on replay-only cassettes are checked, and unplayed interactions are listed per protocol.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efilter_headers\u003c/code\u003e accepts \u003ccode\u003e*\u003c/code\u003e patterns and \u003ccode\u003e!\u003c/code\u003e exceptions\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/pull/141\"\u003e#141\u003c/a\u003e). \u003ccode\u003e[\u0026quot;x-*\u0026quot;, \u0026quot;!x-amzn-bedrock-*\u0026quot;]\u003c/code\u003e drops every \u003ccode\u003ex-\u003c/code\u003e header except Bedrock's. Plain names are compared faster than before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Upgrading\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003efilter_headers\u003c/code\u003e entry containing \u003ccode\u003e*\u003c/code\u003e or starting with \u003ccode\u003e!\u003c/code\u003e is now a pattern, not a literal header name.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/cassetter/compare/v0.13.0...v0.14.0\"\u003ev0.13.0...v0.14.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/Kludex/cassetter/commit/89f2d972cd9ed649fa55808ca232727cc5f4e51d\"\u003e\u003ccode\u003e89f2d97\u003c/code\u003e\u003c/a\u003e Match header filters with \u003ccode\u003e*\u003c/code\u003e and keep headers with \u003ccode\u003e!\u003c/code\u003e entries (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/cassetter/commit/6740b25e356845b699d95f23b149b44b17efa264\"\u003e\u003ccode\u003e6740b25\u003c/code\u003e\u003c/a\u003e Add an opt-in check for interactions a passing test left unplayed (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/cassetter/commit/8a5f6066b78aa58a187147f8b2cd0eb38921e2b0\"\u003e\u003ccode\u003e8a5f606\u003c/code\u003e\u003c/a\u003e Capture the HTTP requests the code sends in \u003ccode\u003ecassette.sent_requests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/cassetter/commit/cfbe47f1f5ab4fa9a97f07cf5dc8b594279591c2\"\u003e\u003ccode\u003ecfbe47f\u003c/code\u003e\u003c/a\u003e Create the release tag from the GitHub release in \u003ccode\u003eRELEASING.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/138\"\u003e#138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/cassetter/compare/v0.13.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.0 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `griffecli` from 2.3.0 to 2.3.2\n\nUpdates `mypy` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 2.4\u003c/h2\u003e\n\u003cp\u003eWe've just uploaded mypy 2.4.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.15 Support\u003c/h3\u003e\n\u003cp\u003eMypy 2.4 supports running on Python 3.15 and type checking most Python\n3.15 features. This includes the new builtin \u003ccode\u003esentinel\u003c/code\u003e type for\nsentinel values (PEP 661), which mypy now supports (see below for\ndetails). Lazy imports (PEP 810) and unpacking in comprehensions\n(PEP 798) are also supported. Closed TypedDicts (PEP 728) have been\nsupported since mypy 2.2, but the \u003ccode\u003eextra_items\u003c/code\u003e TypedDict argument,\nalso introduced in PEP 728, is still unsupported. Support for\n\u003ccode\u003eextra_items\u003c/code\u003e will be added in a future mypy release.\u003c/p\u003e\n\u003ch3\u003eNative Parser Enabled by Default\u003c/h3\u003e\n\u003cp\u003eMypy now uses the new native parser by default. It's based on the Ruff\nparser, and it's significantly faster than the legacy parser, which\nuses the stdlib \u003ccode\u003east\u003c/code\u003e module. The native parser also has other\nbenefits:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou can target newer Python versions and use recent Python syntax\neven when running mypy on an older Python version. For example, you\ncan use \u003ccode\u003e--python-version 3.15\u003c/code\u003e when running mypy on Python 3.14.\u003c/li\u003e\n\u003cli\u003eStub files can use syntax that is newer than the target Python\nversion. For example, stubs can use the PEP 695 generic class syntax\n(\u003ccode\u003eclass Box[T]: ...\u003c/code\u003e) when running on or targeting Python 3.10.\u003c/li\u003e\n\u003cli\u003eParallel type checking requires the native parser.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe legacy parser is still available through \u003ccode\u003e--no-native-parser\u003c/code\u003e, or\n\u003ccode\u003enative_parser = False\u003c/code\u003e in the config file (\u003ccode\u003enative_parser = false\u003c/code\u003e\nunder \u003ccode\u003e[tool.mypy]\u003c/code\u003e in pyproject.toml). We are planning to remove the\nlegacy parser in early 2027. If you run into a problem with the native\nparser, please report it on the\n\u003ca href=\"https://github.com/python/mypy/issues\"\u003eissue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUnlike the legacy parser, the native parser doesn't support type\ncomments for variables defined by \u003ccode\u003efor\u003c/code\u003e and \u003ccode\u003ewith\u003c/code\u003e statements. These\ntype comments are silently ignored, and the types of the variables are\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/935ba8afba7ceacca0651579450c74339f343016\"\u003e\u003ccode\u003e935ba8a\u003c/code\u003e\u003c/a\u003e Bump version to 2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/334a678967dc6bcda3d3f8cb82e253dd61fa2be9\"\u003e\u003ccode\u003e334a678\u003c/code\u003e\u003c/a\u003e Add link for PR 22066 in mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22082\"\u003e#22082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/fe69660bcdaa76cccb1aedbb4b9c1c7627215571\"\u003e\u003ccode\u003efe69660\u003c/code\u003e\u003c/a\u003e Finalize mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22080\"\u003e#22080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/541fd87ac53581fb3c511b277fd780ec4e869c95\"\u003e\u003ccode\u003e541fd87\u003c/code\u003e\u003c/a\u003e Various mypy 2.4 changelog updates (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22077\"\u003e#22077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b231182c0b2993918f74594236bda7d3ec6fcbe5\"\u003e\u003ccode\u003eb231182\u003c/code\u003e\u003c/a\u003e Update native parser docs (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22078\"\u003e#22078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/04fe42ce217f120a4de2c1fd62b71ef77452d699\"\u003e\u003ccode\u003e04fe42c\u003c/code\u003e\u003c/a\u003e Initial Changelog for Mypy 2.4 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22071\"\u003e#22071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/06174941bca0e88567441ee3cb0ffaef0dd22e2c\"\u003e\u003ccode\u003e0617494\u003c/code\u003e\u003c/a\u003e Quick fix for non UTF-8 encodings with new parser (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22066\"\u003e#22066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b2f9b60eae5ac7cd9c6a60650b128815bb703daf\"\u003e\u003ccode\u003eb2f9b60\u003c/code\u003e\u003c/a\u003e Bump librt to 0.16.0 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22067\"\u003e#22067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d798dcb9589f9bd62e625a97d8db23ad9a678fa\"\u003e\u003ccode\u003e9d798dc\u003c/code\u003e\u003c/a\u003e Sync typeshed (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22054\"\u003e#22054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0861bb6450d6d3658e44dbca9cd2ba478faf3c1d\"\u003e\u003ccode\u003e0861bb6\u003c/code\u003e\u003c/a\u003e Reduce max protocol stack size to 20 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22053\"\u003e#22053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v2.3.1...v2.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.16.8 to 0.16.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.16.10\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.16.10\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/ruff/blob/0.16.10/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-09-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid false positives for overloaded division (\u003ccode\u003eRUF069\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28309\"\u003e#28309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Avoid false positives for calls with keyword arguments (\u003ccode\u003eB009\u003c/code\u003e, \u003ccode\u003eB010\u003c/code\u003e, \u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28776\"\u003e#28776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow lazy imports to be used in deferred annotations (\u003ccode\u003eTID255\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28767\"\u003e#28767\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LibCST-based fixes for Python 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28616\"\u003e#28616\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/3265ed1f944c98bb4c04d632fbefb1257cdb583d\"\u003e\u003ccode\u003e3265ed1\u003c/code\u003e\u003c/a\u003e Bump version to 0.16.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29055\"\u003e#29055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e786964450e75d904c288a1e59ae2b196d0b9c47\"\u003e\u003ccode\u003ee786964\u003c/code\u003e\u003c/a\u003e Authorize shared PR security-review workflow to publish findings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29052\"\u003e#29052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a81291e9db2f67039d159e7490b988e6c25c7a0f\"\u003e\u003ccode\u003ea81291e\u003c/code\u003e\u003c/a\u003e [ty] Defer uv workspace discovery until after project configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28525\"\u003e#28525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6a74d26cbe6b45b3eb2992041714461bd4ceb5b\"\u003e\u003ccode\u003eb6a74d2\u003c/code\u003e\u003c/a\u003e [ty] Refresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/41d30df6fdbe215390b3acb46e8cd4017f65580d\"\u003e\u003ccode\u003e41d30df\u003c/code\u003e\u003c/a\u003e Update Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29047\"\u003e#29047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/317e0a3ab75878eba6e3b78c57f73d47108e2a8e\"\u003e\u003ccode\u003e317e0a3\u003c/code\u003e\u003c/a\u003e [ty] Bound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8546752d9d5dac8da78c8abba380600cfe573874\"\u003e\u003ccode\u003e8546752\u003c/code\u003e\u003c/a\u003e [ty] Fix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/56180bcf800d6e45fb1c4b4113e97501b8f128c5\"\u003e\u003ccode\u003e56180bc\u003c/code\u003e\u003c/a\u003e [ty] Specialize instance members once (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29043\"\u003e#29043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aa9a1ff88aa83b3f01360ef5b3cb04b2be187206\"\u003e\u003ccode\u003eaa9a1ff\u003c/code\u003e\u003c/a\u003e [ty] Avoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2d253467b5153f82d26c51d49eb8d4156f1768bf\"\u003e\u003ccode\u003e2d25346\u003c/code\u003e\u003c/a\u003e [ty] Improve \u003ccode\u003eunresolved-import\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29039\"\u003e#29039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.8...0.16.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logfire` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/logfire/releases\"\u003elogfire's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle project setup for accounts without organizations by \u003ca href=\"https://github.com/strawgate\"\u003e\u003ccode\u003e@​strawgate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2470\"\u003e#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable TCP keepalive and recycle idle connections in Logfire's HTTP sessions by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2476\"\u003e#2476\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/pydantic/logfire/blob/v5.1.1/CHANGELOG.md\"\u003elogfire's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v5.1.1] (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle project setup for accounts without organizations by \u003ca href=\"https://github.com/strawgate\"\u003e\u003ccode\u003e@​strawgate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2470\"\u003e#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable TCP keepalive and recycle idle connections in Logfire's HTTP sessions by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2476\"\u003e#2476\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/logfire/commit/6b5ac61efd7cb76f62daf4e247dc31824d1cd1e6\"\u003e\u003ccode\u003e6b5ac61\u003c/code\u003e\u003c/a\u003e Release v5.1.1 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/2483\"\u003e#2483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/c26516e4115cd8b7963ab641b380a61dc5c228b5\"\u003e\u003ccode\u003ec26516e\u003c/code\u003e\u003c/a\u003e [v5] Enable TCP keepalive and recycle idle connections in Logfire's HTTP sess...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/a5c9fdbc115dd022b8a30e9e5743c47e6887c2fb\"\u003e\u003ccode\u003ea5c9fdb\u003c/code\u003e\u003c/a\u003e [v5] Handle project setup for accounts without organizations (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/2470\"\u003e#2470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/logfire/compare/v5.1.0...v5.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logfire-api` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/logfire/releases\"\u003elogfire-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle project setup for accounts without organizations by \u003ca href=\"https://github.com/strawgate\"\u003e\u003ccode\u003e@​strawgate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2470\"\u003e#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable TCP keepalive and recycle idle connections in Logfire's HTTP sessions by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2476\"\u003e#2476\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/pydantic/logfire/blob/v5.1.1/CHANGELOG.md\"\u003elogfire-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v5.1.1] (2026-09-25...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n\u003ca href=\"https://cubic.dev/pr/pydantic/pydantic-ai/pull/10201?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"View guided diff\" src=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\u003c!-- End of auto-generated description by cubic. --\u003e","html_url":"https://github.com/pydantic/pydantic-ai/pull/10201","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydantic%2Fpydantic-ai/issues/10201","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10201/packages"},{"uuid":"5823498819","node_id":"PR_kwDOPWL5l88AAAABIFa1gg","number":50,"state":"open","title":"deps-dev(deps-dev): bump hypothesis from 6.168.0 to 6.168.5","user":"dependabot[bot]","labels":[],"assignees":["SatvikPraveen"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-13T02:32:29.000Z","updated_at":"2026-10-13T02:32:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps-dev(deps-dev)","packages":[{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.168.0 to 6.168.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\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=hypothesis\u0026package-manager=pip\u0026previous-version=6.168.0\u0026new-version=6.168.5)](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/SatvikPraveen/ScipyMasterPro/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatvikPraveen%2FScipyMasterPro/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"},{"uuid":"5822829753","node_id":"PR_kwDOIlsDF88AAAABIE5aMw","number":1594,"state":"open","title":"Bump hypothesis from 6.168.1 to 6.168.3","user":"dependabot[bot]","labels":["dependencies","large","📦 dependencies","python:uv","5-20 min review"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-13T01:17:34.000Z","updated_at":"2026-10-13T01:21:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"hypothesis","old_version":"6.168.1","new_version":"6.168.3","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.168.1 to 6.168.3.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7fabb948190bcf220ae577f0b9a9826fd1d5c7a3\"\u003e\u003ccode\u003e7fabb94\u003c/code\u003e\u003c/a\u003e Add RELEASE.rst and AUTHORS.rst changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0ab4e3883e68bf27011e393c6bed498eea50ed81\"\u003e\u003ccode\u003e0ab4e38\u003c/code\u003e\u003c/a\u003e Summarize statistics events in linear time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/32ebeb29374b1b2274e42eea2ae703a6cdcdc4ec\"\u003e\u003ccode\u003e32ebeb2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ff7e800971bacfabe4f498bc883c3fafc16c797f\"\u003e\u003ccode\u003eff7e800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4886\"\u003e#4886\u003c/a\u003e from pschanely/atomic-constants-cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e57fd12bc0c4242bedf4163497542b2a9aee00f3\"\u003e\u003ccode\u003ee57fd12\u003c/code\u003e\u003c/a\u003e Isolate the constants cache test from existing cache files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c8981a0f1d0b84a5bd5ede0f7ae1aef768715177\"\u003e\u003ccode\u003ec8981a0\u003c/code\u003e\u003c/a\u003e Write the local constants cache atomically\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9c55f97e507eae21677457e84737b386fd06e271\"\u003e\u003ccode\u003e9c55f97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4877\"\u003e#4877\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.1...v6.168.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=hypothesis\u0026package-manager=uv\u0026previous-version=6.168.1\u0026new-version=6.168.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/reidhoch/horcrux/pull/1594","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/reidhoch%2Fhorcrux/issues/1594","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1594/packages"},{"uuid":"5819204382","node_id":"PR_kwDOSG6RHM8AAAABICCkVw","number":59,"state":"closed","title":"Bump: Bump the python-minor-patch group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T06:32:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-12T19:19:49.000Z","updated_at":"2026-10-19T06:32:13.000Z","time_to_close":558742,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump: Bump","group_name":"python-minor-patch","update_count":8,"packages":[{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"typer","old_version":"0.27.2","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"fastapi","old_version":"0.142.2","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"mcp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"filelock","old_version":"4.0.9","new_version":"4.0.12","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"websockets","old_version":"17.1","new_version":"17.2","repository_url":"https://github.com/python-websockets/websockets"},{"name":"hypothesis","old_version":"6.168.3","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"pytest-playwright","old_version":"0.9.0","new_version":"0.10.0","repository_url":"https://github.com/microsoft/playwright-pytest"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [typer](https://github.com/fastapi/typer) | `0.27.2` | `0.27.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.142.2` | `0.143.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `2.2.0` | `2.3.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `4.0.9` | `4.0.12` |\n| [websockets](https://github.com/python-websockets/websockets) | `17.1` | `17.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.3` | `6.168.5` |\n| [pytest-playwright](https://github.com/microsoft/playwright-pytest) | `0.9.0` | `0.10.0` |\n\n\nUpdates `pydantic` from 2.13.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.27.2 to 0.27.3\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.27.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Escape terminal control characters in error messages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1972\"\u003e#1972\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1969\"\u003e#1969\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 urllib3 from 2.7.0 to 2.8.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1968\"\u003e#1968\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 pymdown-extensions from 11.0 to 11.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1924\"\u003e#1924\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 the python-packages group across 1 directory with 7 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1966\"\u003e#1966\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 cryptography from 48.0.1 to 50.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1920\"\u003e#1920\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1967\"\u003e#1967\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 3 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1965\"\u003e#1965\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 anyio from 4.12.0 to 4.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1959\"\u003e#1959\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✅ Fix flaky \u003ccode\u003eapp_dir\u003c/code\u003e and \u003ccode\u003elaunch\u003c/code\u003e tutorial tests under \u003ccode\u003exdist\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1951\"\u003e#1951\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 8 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1948\"\u003e#1948\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 annotated-doc from 0.0.4 to 0.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1949\"\u003e#1949\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1950\"\u003e#1950\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 4 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1947\"\u003e#1947\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.27.3 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Escape terminal control characters in error messages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1972\"\u003e#1972\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1969\"\u003e#1969\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 urllib3 from 2.7.0 to 2.8.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1968\"\u003e#1968\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 pymdown-extensions from 11.0 to 11.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1924\"\u003e#1924\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 the python-packages group across 1 directory with 7 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1966\"\u003e#1966\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 cryptography from 48.0.1 to 50.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1920\"\u003e#1920\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1967\"\u003e#1967\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 3 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1965\"\u003e#1965\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 anyio from 4.12.0 to 4.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1959\"\u003e#1959\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✅ Fix flaky \u003ccode\u003eapp_dir\u003c/code\u003e and \u003ccode\u003elaunch\u003c/code\u003e tutorial tests under \u003ccode\u003exdist\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1951\"\u003e#1951\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 8 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1948\"\u003e#1948\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 annotated-doc from 0.0.4 to 0.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1949\"\u003e#1949\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1950\"\u003e#1950\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 4 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1947\"\u003e#1947\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/b15210b71a5b9b35be82a1ffdb172ef7b3a89d85\"\u003e\u003ccode\u003eb15210b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.27.3 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1973\"\u003e#1973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/8bfe6d1599d19fd2175722dc9b9cb576e331c43d\"\u003e\u003ccode\u003e8bfe6d1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a74010f845e8771e574cc9a033cd53f449383c61\"\u003e\u003ccode\u003ea74010f\u003c/code\u003e\u003c/a\u003e 🐛 Escape terminal control characters in error messages (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/11b083b92126fb8e149ab9e7d5c9a0f5594dfe58\"\u003e\u003ccode\u003e11b083b\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/910a474f3071012c3c512aad3b6e10c6e9af9dcf\"\u003e\u003ccode\u003e910a474\u003c/code\u003e\u003c/a\u003e ⬆ Bump pyjwt from 2.13.0 to 2.15.0 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/33b1eec0e20df3695de0b4ad7af0dff89608b12b\"\u003e\u003ccode\u003e33b1eec\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/62f1d4acd95c52c12490d313d2dea27846d23f46\"\u003e\u003ccode\u003e62f1d4a\u003c/code\u003e\u003c/a\u003e ⬆ Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1968\"\u003e#1968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ffc8b9ae61d98fd48d52494e3f7286fda763fbe5\"\u003e\u003ccode\u003effc8b9a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/1b7ceee5da625df3c679a55f9e6d25e31ab5f5c2\"\u003e\u003ccode\u003e1b7ceee\u003c/code\u003e\u003c/a\u003e ⬆ Bump pymdown-extensions from 11.0 to 11.0.1 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1924\"\u003e#1924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/40c39c11ce29ea0272134a0a50b2668105cd714f\"\u003e\u003ccode\u003e40c39c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.27.2...0.27.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.142.2 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.142.2...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003epip install -U mcp\u003c/code\u003e. Docs: \u003ca href=\"https://py.sdk.modelcontextprotocol.io/\"\u003ehttps://py.sdk.modelcontextprotocol.io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMostly fixes, plus three new options. A few things behave differently, so skim these first:\u003c/p\u003e\n\u003ch2\u003eBehaviour changes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003ehttpx2\u0026gt;=2.10.0\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt was \u003ccode\u003e\u0026gt;=2.5.0\u003c/code\u003e. The new \u003ccode\u003emax_sse_event_size\u003c/code\u003e option needs it.\u003c/li\u003e\n\u003cli\u003eNothing to do unless you pin \u003ccode\u003ehttpx2\u003c/code\u003e below 2.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eA tool with an invalid \u003ccode\u003ex-mcp-header\u003c/code\u003e annotation fails at registration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3620\"\u003e#3620\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@mcp.tool()\u003c/code\u003e, \u003ccode\u003eadd_tool\u003c/code\u003e and \u003ccode\u003eTool.from_function\u003c/code\u003e raise \u003ccode\u003eInvalidSignature\u003c/code\u003e, naming the tool and the problem.\u003c/li\u003e\n\u003cli\u003eUntil now the server started, and 2026-07-28 clients silently dropped the tool from their listing.\u003c/li\u003e\n\u003cli\u003eRefused: anything other than a plain \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e or \u003ccode\u003ebool\u003c/code\u003e parameter (so also \u003ccode\u003estr | None\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, lists and enums), a header name that isn't a valid token, and two names that differ only by case.\u003c/li\u003e\n\u003cli\u003eFor an optional header parameter, give the schema directly: \u003ccode\u003eAnnotated[str | None, WithJsonSchema({\u0026quot;type\u0026quot;: \u0026quot;string\u0026quot;, \u0026quot;x-mcp-header\u0026quot;: \u0026quot;Region\u0026quot;})] = None\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eEmpty \u003ccode\u003e_meta\u003c/code\u003e and \u003ccode\u003eparams\u003c/code\u003e are no longer sent\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOn 2025-11-25 and earlier connections, 2.x sent \u003ccode\u003e\u0026quot;_meta\u0026quot;: {}\u003c/code\u003e on every request. Some servers reject that. It is now left out, as in v1.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eping\u003c/code\u003e and list requests without a cursor go out with no \u003ccode\u003eparams\u003c/code\u003e member.\u003c/li\u003e\n\u003cli\u003eOn the receiving side \u003ccode\u003ectx.meta\u003c/code\u003e is \u003ccode\u003eNone\u003c/code\u003e rather than \u003ccode\u003e{}\u003c/code\u003e, and middleware sees \u003ccode\u003ectx.params\u003c/code\u003e as \u003ccode\u003eNone\u003c/code\u003e for a request without params.\u003c/li\u003e\n\u003cli\u003e2026-07-28 connections are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003einitialize\u003c/code\u003e leaves out \u003ccode\u003eexperimental\u003c/code\u003e when none is configured\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt used to send \u003ccode\u003e\u0026quot;experimental\u0026quot;: {}\u003c/code\u003e. \u003ccode\u003eserver/discover\u003c/code\u003e already left it out.\u003c/li\u003e\n\u003cli\u003eClient code reading \u003ccode\u003ecapabilities.experimental\u003c/code\u003e on a legacy connection should handle \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMcp-Param-*\u003c/code\u003e validation looks the tool up by name\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e no longer runs \u003ccode\u003etools/list\u003c/code\u003e for every \u003ccode\u003etools/call\u003c/code\u003e, so middleware no longer sees that extra request.\u003c/li\u003e\n\u003cli\u003eThe registered schema is what gets checked. Middleware that filters or rewrites \u003ccode\u003etools/list\u003c/code\u003e no longer affects it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAn interactive OAuth login no longer counts against request timeouts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe timeout pauses while \u003ccode\u003eOAuthClientProvider\u003c/code\u003e waits on \u003ccode\u003eredirect_handler\u003c/code\u003e and \u003ccode\u003ecallback_handler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThis fixes \u003ccode\u003eClient(mode=\u0026quot;auto\u0026quot;)\u003c/code\u003e settling on \u003ccode\u003e2025-11-25\u003c/code\u003e when the login took longer than 10 seconds.\u003c/li\u003e\n\u003cli\u003eA request timeout no longer ends a login nobody finishes. Put a limit inside \u003ccode\u003ecallback_handler\u003c/code\u003e if you need one.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emax_sse_event_size=\u003c/code\u003e on \u003ccode\u003estreamable_http_client\u003c/code\u003e and \u003ccode\u003eStreamableHttpParameters\u003c/code\u003e. The default stays 1 MiB per SSE event; raise it, or pass \u003ccode\u003eNone\u003c/code\u003e, for larger tool results (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer(subscriptions=False)\u003c/code\u003e stops serving \u003ccode\u003esubscriptions/listen\u003c/code\u003e and advertises \u003ccode\u003elistChanged\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e as false (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3626\"\u003e#3626\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eServer(get_tool_input_schema=...)\u003c/code\u003e lets a low-level server supply a tool's schema for header validation without running its \u003ccode\u003etools/list\u003c/code\u003e handler (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eClient.call_tool\u003c/code\u003e re-lists the tools and retries once after a \u003ccode\u003eHeaderMismatch\u003c/code\u003e (\u003ccode\u003e-32020\u003c/code\u003e) rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ectx: Context[AppState]\u003c/code\u003e works on prompts and resource templates, not only on tools (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3624\"\u003e#3624\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn explicit \u003ccode\u003e\u0026quot;structuredContent\u0026quot;: null\u003c/code\u003e is checked against the output schema instead of being treated as missing (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3621\"\u003e#3621\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eprogress_callback\u003c/code\u003e that raises no longer fails the call on an in-process \u003ccode\u003eClient(server)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3623\"\u003e#3623\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eClient OpenTelemetry spans record JSON-RPC error responses. With \u003ccode\u003emode=\u0026quot;auto\u0026quot;\u003c/code\u003e, connecting to a server without \u003ccode\u003eserver/discover\u003c/code\u003e now shows one \u003ccode\u003eERROR\u003c/code\u003e span for the probe (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estdio_client\u003c/code\u003e resolves the executable off the event loop on Windows (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3510\"\u003e#3510\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/modelcontextprotocol/python-sdk/commit/2118f14f8a19bc158d8a1cf90af58d85d187f849\"\u003e\u003ccode\u003e2118f14\u003c/code\u003e\u003c/a\u003e docs: refresh translations for recent English changes (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3636\"\u003e#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ed9b2d61823b3800de4c48abb23b951ad3a50834\"\u003e\u003ccode\u003eed9b2d6\u003c/code\u003e\u003c/a\u003e Stop counting an interactive OAuth login against request timeouts (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/d5cebd13defe97bf5bacb93496f132d4173cda23\"\u003e\u003ccode\u003ed5cebd1\u003c/code\u003e\u003c/a\u003e Keep inline-snapshot disabled when pytest runs in a terminal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3634\"\u003e#3634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c15566c9dd4828b8082fb7693060e3a0fd67e657\"\u003e\u003ccode\u003ec15566c\u003c/code\u003e\u003c/a\u003e Link What's new to the Header parameters page (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/4d29994023576e4b04e06c9ff2f32757abc50463\"\u003e\u003ccode\u003e4d29994\u003c/code\u003e\u003c/a\u003e Let a newer Deploy Docs run cancel the one in progress (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3633\"\u003e#3633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0acea605135759a2228a33eaa7d792fea2c2282b\"\u003e\u003ccode\u003e0acea60\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c54075ccb8793e9b0d37f0c9e2c58dfd0256c23d\"\u003e\u003ccode\u003ec54075c\u003c/code\u003e\u003c/a\u003e Look the tool schema up by name for Mcp-Param-* validation instead of running...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9afccae3d0bff4062add01b7fb746634b9aad2a7\"\u003e\u003ccode\u003e9afccae\u003c/code\u003e\u003c/a\u003e Retry a tool call once after a HeaderMismatch rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cafa33b3530b0af2e4a8467d11f92bc1cb00368e\"\u003e\u003ccode\u003ecafa33b\u003c/code\u003e\u003c/a\u003e Record JSON-RPC error responses on the client OpenTelemetry span (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0b2fd3ea60efb16b349e8c887cf91bf2f9f773fc\"\u003e\u003ccode\u003e0b2fd3e\u003c/code\u003e\u003c/a\u003e Omit an empty _meta and empty params from outbound requests (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 4.0.9 to 4.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.12\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: support older SQLite read locks 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/filelock/pull/771\"\u003etox-dev/filelock#771\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/filelock/compare/4.0.11...4.0.12\"\u003ehttps://github.com/tox-dev/filelock/compare/4.0.11...4.0.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.11\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: select an existing tox environment in contributing guide by \u003ca href=\"https://github.com/raghav-sharma-ai\"\u003e\u003ccode\u003e@​raghav-sharma-ai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/767\"\u003etox-dev/filelock#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read-write): handle NetBSD fd limits 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/filelock/pull/768\"\u003etox-dev/filelock#768\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/raghav-sharma-ai\"\u003e\u003ccode\u003e@​raghav-sharma-ai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/767\"\u003etox-dev/filelock#767\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/filelock/compare/4.0.10...4.0.11\"\u003ehttps://github.com/tox-dev/filelock/compare/4.0.10...4.0.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.10\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ refactor(util): test helpers via public locks 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/filelock/pull/764\"\u003etox-dev/filelock#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(singleton): reject conflicting async and lease options by \u003ca href=\"https://github.com/kokotatan\"\u003e\u003ccode\u003e@​kokotatan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/765\"\u003etox-dev/filelock#765\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/kokotatan\"\u003e\u003ccode\u003e@​kokotatan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/765\"\u003etox-dev/filelock#765\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/filelock/compare/4.0.9...4.0.10\"\u003ehttps://github.com/tox-dev/filelock/compare/4.0.9...4.0.10\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/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.1 (2026-10-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eBound the shared-lock contention test by worker progress so slow CI machines can finish the workload. :pr:\u003ccode\u003e819\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid the macOS \u003ccode\u003e/dev/fd\u003c/code\u003e lookup implicated in a kernel panic by opening SQLite through a validated hard link.\nThe database directory must be writable and support hard links; alias creation failure raises \u003ccode\u003eOSError\u003c/code\u003e. :pr:\u003ccode\u003e820\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIgnore non-ASCII PID or start-time fields and out-of-range PIDs in \u003ccode\u003eReadWriteLock\u003c/code\u003e hard-link directory names so forged\nowners cannot abort acquisition. :pr:\u003ccode\u003e821\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e816\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.0 (2026-10-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eImport :data:\u003ccode\u003e~filelock.OwnerMode\u003c/code\u003e, :data:\u003ccode\u003e~filelock.CompromiseReason\u003c/code\u003e and :data:\u003ccode\u003e~filelock.has_fcntl\u003c/code\u003e from\n\u003ccode\u003efilelock\u003c/code\u003e. :pr:\u003ccode\u003e790\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.AcquireReturnProxy\u003c/code\u003e is generic in the lock type, so \u003ccode\u003ewith lock.acquire() as held:\u003c/code\u003e types \u003ccode\u003eheld\u003c/code\u003e as\nthe lock's own class. :pr:\u003ccode\u003e803\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA :class:\u003ccode\u003e~filelock.Timeout\u003c/code\u003e from a soft lock names a holder on another host or in another PID namespace, which no\ncontender ever reclaims. :pr:\u003ccode\u003e815\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003e~filelock.SoftFileLock.is_lock_held_by_us\u003c/code\u003e and :attr:\u003ccode\u003e~filelock.MarkerSoftFileLock.is_lock_held_by_us\u003c/code\u003e return\n\u003ccode\u003eFalse\u003c/code\u003e for a marker an earlier process with the same PID left behind. :pr:\u003ccode\u003e774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e removes its marker when writing it fails and closing the descriptor fails too, so the\nlock path no longer stays blocked. :pr:\u003ccode\u003e775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~filelock.BaseFileLock.acquire\u003c/code\u003e and :meth:\u003ccode\u003e~filelock.BaseAsyncFileLock.acquire\u003c/code\u003e no longer wait past \u003ccode\u003etimeout\u003c/code\u003e\nwhen \u003ccode\u003epoll_interval\u003c/code\u003e is longer than the time left. :pr:\u003ccode\u003e777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e ignores a generation-log entry whose name is not 20 ASCII digits, which used to\nstop its heartbeat thread or delete real generations. :pr:\u003ccode\u003e778\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.ReadWriteLock\u003c/code\u003e, :class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e and their async wrappers treat a\n:data:\u003ccode\u003emath.inf\u003c/code\u003e timeout like \u003ccode\u003e-1\u003c/code\u003e and raise :class:\u003ccode\u003eValueError\u003c/code\u003e for a blocking \u003ccode\u003enan\u003c/code\u003e one. :pr:\u003ccode\u003e779\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.ReadWriteLock\u003c/code\u003e and :class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e accept a timeout above\n:data:\u003ccode\u003ethreading.TIMEOUT_MAX\u003c/code\u003e instead of raising :class:\u003ccode\u003eOverflowError\u003c/code\u003e. :pr:\u003ccode\u003e780\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~filelock.BaseFileLock.acquire\u003c/code\u003e raises :class:\u003ccode\u003eValueError\u003c/code\u003e for a blocking \u003ccode\u003enan\u003c/code\u003e timeout or a \u003ccode\u003epoll_interval\u003c/code\u003e\nabove :data:\u003ccode\u003ethreading.TIMEOUT_MAX\u003c/code\u003e, and treats a :data:\u003ccode\u003emath.inf\u003c/code\u003e timeout like \u003ccode\u003e-1\u003c/code\u003e. :pr:\u003ccode\u003e781\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e and :class:\u003ccode\u003e~filelock.MarkerSoftFileLock\u003c/code\u003e treat a marker cut before its final newline as\nmalformed, so a crash-truncated record self-heals and a read mid-write no longer breaks a live lock. :pr:\u003ccode\u003e782\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.UnixFileLock\u003c/code\u003e no longer deletes another process's live marker when it falls back to a soft lock on\n\u003ccode\u003eENOSYS\u003c/code\u003e, and on macOS a lock path ending in a separator raises :class:\u003ccode\u003eFileNotFoundError\u003c/code\u003e instead of retrying. :pr:\u003ccode\u003e785\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e and :class:\u003ccode\u003e~filelock.SoftFileLease\u003c/code\u003e put back a live successor's marker that a racing\nstale break moved aside, so a third contender no longer acquires beside the successor. :pr:\u003ccode\u003e786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.StrictSoftFileLock\u003c/code\u003e removes every claim a failed acquire published, counts an \u003ccode\u003eEEXIST\u003c/code\u003e link that\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/tox-dev/filelock/commit/09b36c4741b0062df7c7cc149ed415c255034409\"\u003e\u003ccode\u003e09b36c4\u003c/code\u003e\u003c/a\u003e Release 4.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/33e2d11b61894d7f71f2211cfdae9550e85029f4\"\u003e\u003ccode\u003e33e2d11\u003c/code\u003e\u003c/a\u003e fix: support older SQLite read locks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/822d32b54d70027311e2190a86cb7f3c58439be4\"\u003e\u003ccode\u003e822d32b\u003c/code\u003e\u003c/a\u003e Release 4.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/47f036daea8f54e7b9b54b067e3122a05c4f5662\"\u003e\u003ccode\u003e47f036d\u003c/code\u003e\u003c/a\u003e fix(read-write): handle NetBSD fd limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/2e0abe5b915fbadbb1b21bc094800feb7e2b8e09\"\u003e\u003ccode\u003e2e0abe5\u003c/code\u003e\u003c/a\u003e docs: select an existing tox environment in contributing guide (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/767\"\u003e#767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/1f0632b6bc047cf3481bbe740475be813013208e\"\u003e\u003ccode\u003e1f0632b\u003c/code\u003e\u003c/a\u003e Release 4.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/c9c65abadf1832d22e5901d6cd0e7010bd00db5c\"\u003e\u003ccode\u003ec9c65ab\u003c/code\u003e\u003c/a\u003e 🐛 fix(singleton): reject conflicting async and lease options (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bc2405b882657b649fff86fe86ddd7883510393f\"\u003e\u003ccode\u003ebc2405b\u003c/code\u003e\u003c/a\u003e ♻️ refactor(util): test helpers via public locks (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/4.0.9...4.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `websockets` from 17.1 to 17.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-websockets/websockets/releases\"\u003ewebsockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e17.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a1664f4c5a7c71bf5391ad0c3c518e431f6261fb\"\u003e\u003ccode\u003ea1664f4\u003c/code\u003e\u003c/a\u003e Release version 17.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d2060d803d131ed535b55e0837e3ee60eb0f7716\"\u003e\u003ccode\u003ed2060d8\u003c/code\u003e\u003c/a\u003e Test against latest PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/2af0aff9950903f0957803d47eabdbbc999eb648\"\u003e\u003ccode\u003e2af0aff\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 4.2.0 to 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/603dd9830d23a35fbc356354d36c8b6ddc5f352c\"\u003e\u003ccode\u003e603dd98\u003c/code\u003e\u003c/a\u003e Document how to wait for clients to disconnect.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/f78b0b315bd53cb94e4d5b4e628af157e28695a7\"\u003e\u003ccode\u003ef78b0b3\u003c/code\u003e\u003c/a\u003e mypy is getting smarter.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/32504a802e6aab619f4beb33c40b65ea8d7f027b\"\u003e\u003ccode\u003e32504a8\u003c/code\u003e\u003c/a\u003e Prevent suprious log when proxy rejects connection.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/7db6ba3ead2bcfa7c914a9dfdba313b82a64b5dd\"\u003e\u003ccode\u003e7db6ba3\u003c/code\u003e\u003c/a\u003e Decode credentials in WebSocket and proxy URIs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a591d620fd002a8800e840c7a3fdf556ac0e5ec6\"\u003e\u003ccode\u003ea591d62\u003c/code\u003e\u003c/a\u003e Tighten heuristics for representing control frames.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/5b63a4c34da3735d57e0e96c909584ab4b576d43\"\u003e\u003ccode\u003e5b63a4c\u003c/code\u003e\u003c/a\u003e Fix flaky tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/b8cfbfbf03bca110b375d76d77673a0d6737fb83\"\u003e\u003ccode\u003eb8cfbfb\u003c/code\u003e\u003c/a\u003e Add deterrence against AI slop.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-websockets/websockets/compare/17.1...17.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.3 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-playwright` from 0.9.0 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright-pytest/releases\"\u003epytest-playwright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.10.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eTraces for \u003ccode\u003eplaywright.request\u003c/code\u003e API contexts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/333\"\u003e#333\u003c/a\u003e). \u003ccode\u003e--tracing\u003c/code\u003e now also records contexts created with \u003ccode\u003eplaywright.request.new_context()\u003c/code\u003e, one chunk per test, so a session-scoped API context yields a trace per test. The traces follow the same \u003ccode\u003eretain-on-failure\u003c/code\u003e handling, \u003ccode\u003etrace-N.zip\u003c/code\u003e naming and report attachments as browser traces. Requires Playwright 1.60 or newer.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eArtifacts in test reports\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/332\"\u003e#332\u003c/a\u003e). Kept screenshots, videos and traces are added to the teardown report as \u003ccode\u003eplaywright_screenshot\u003c/code\u003e, \u003ccode\u003eplaywright_video\u003c/code\u003e and \u003ccode\u003eplaywright_trace\u003c/code\u003e user properties, so \u003ccode\u003e--junitxml\u003c/code\u003e writes them as \u003ccode\u003e\u0026lt;property\u0026gt;\u003c/code\u003e elements and \u003ccode\u003epytest_runtest_logreport\u003c/code\u003e hooks and reporters can pick them up. With pytest-html \u0026gt;= 4 they are linked from the report, and embedded with \u003ccode\u003e--self-contained-html\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eReruns keep their own artifacts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/331\"\u003e#331\u003c/a\u003e). With pytest-rerunfailures, every attempt now writes to its own folder, \u003ccode\u003etest-results/\u0026lt;test\u0026gt;-retry1/\u003c/code\u003e and so on, like Playwright Test. Attempts no longer overwrite each other.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eArtifacts survive fixture failures in teardown\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/330\"\u003e#330\u003c/a\u003e). \u003ccode\u003e--tracing retain-on-failure\u003c/code\u003e, \u003ccode\u003e--video retain-on-failure\u003c/code\u003e and \u003ccode\u003e--screenshot only-on-failure\u003c/code\u003e now keep artifacts when a fixture fails during teardown. A test skipped from a fixture no longer counts as failed.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ePer-test browser launch options\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/329\"\u003e#329\u003c/a\u003e):\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pytest.mark.parametrize(\r\n    \u0026quot;browser_type_launch_args\u0026quot;,\r\n    [{\u0026quot;args\u0026quot;: [\u0026quot;--lang=de-DE\u0026quot;]}],\r\n    indirect=True,\r\n)\r\ndef test_german(page):\r\n    ...\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eEach distinct value launches its own browser; command line options such as \u003ccode\u003e--headed\u003c/code\u003e and \u003ccode\u003e--slowmo\u003c/code\u003e still apply.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMulti-browser parametrization fixes.\u003c/strong\u003e Overriding the \u003ccode\u003epage\u003c/code\u003e fixture no longer drops \u003ccode\u003e--browser\u003c/code\u003e parametrization on older pytest versions (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/314\"\u003e#314\u003c/a\u003e). \u003ccode\u003ebrowser_name\u003c/code\u003e is now parametrized indirectly, so tests keep their original order within a browser (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/284\"\u003e#284\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eVS Code debugger\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/328\"\u003e#328\u003c/a\u003e). The browser is launched headed under the debugger only when a display is available. On Linux without \u003ccode\u003eDISPLAY\u003c/code\u003e or \u003ccode\u003eWAYLAND_DISPLAY\u003c/code\u003e set, it stays headless unless \u003ccode\u003e--headed\u003c/code\u003e is passed.\u003c/p\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003epytest-base-url\u003c/code\u003e is now an optional dependency\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/334\"\u003e#334\u003c/a\u003e). The plugin provides \u003ccode\u003e--base-url\u003c/code\u003e, the \u003ccode\u003ebase_url\u003c/code\u003e ini option, the \u003ccode\u003ePYTEST_BASE_URL\u003c/code\u003e environment variable and the \u003ccode\u003ebase_url\u003c/code\u003e fixture on its own. \u003ccode\u003e--verify-base-url\u003c/code\u003e needs the extra:\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epip install pytest-playwright[base-url]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eMinimum pytest version\u003c/strong\u003e is 7.0 for pytest-playwright and 8.2 for pytest-playwright-asyncio (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/333\"\u003e#333\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003epython-slugify\u003c/code\u003e 9.x is now supported (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/324\"\u003e#324\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/microsoft/playwright-pytest/compare/v0.9.0...v0.10.0\"\u003ehttps://github.com/microsoft/playwright-pytest/compare/v0.9.0...v0.10.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/microsoft/playwright-pytest/commit/80d7569debc94f648e39ba2d2ccb2a580283894a\"\u003e\u003ccode\u003e80d7569\u003c/code\u003e\u003c/a\u003e feat: record traces of playwright.request API contexts (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/63a07cd950d2af1fee598e78e8018b8009257f75\"\u003e\u003ccode\u003e63a07cd\u003c/code\u003e\u003c/a\u003e feat: make pytest-base-url an optional dependency (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/be5238a0755003bbe1e14bca3203c9c8a7710e5b\"\u003e\u003ccode\u003ebe5238a\u003c/code\u003e\u003c/a\u003e feat: attach screenshots, videos and traces to test reports (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/543216d7cde68cdd47ad33380a6138f1fa2e42a0\"\u003e\u003ccode\u003e543216d\u003c/code\u003e\u003c/a\u003e feat: keep artifacts of each pytest-rerunfailures attempt in its own folder (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/4607d7c5b52f13ea4726425d1e004fd206d70bf8\"\u003e\u003ccode\u003e4607d7c\u003c/code\u003e\u003c/a\u003e fix: keep artifacts when a fixture fails during teardown (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/330\"\u003e#330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/cfd68b84bc07781af7f0eed28efdecbd39a43a43\"\u003e\u003ccode\u003ecfd68b8\u003c/code\u003e\u003c/a\u003e feat: allow per-test browser launch options via indirect parametrization (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/dc8396a6687420876f4f4f602527978a28d9c088\"\u003e\u003ccode\u003edc8396a\u003c/code\u003e\u003c/a\u003e fix: only default to headed under the VS Code debugger when a display is avai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/0356d90a41317af43d1c71774d6c090dd063085d\"\u003e\u003ccode\u003e0356d90\u003c/code\u003e\u003c/a\u003e fix: keep multi-browser parametrization when the page fixture is overridden (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/838da8d952fdd49285f7d39f7d8ae41b1e509930\"\u003e\u003ccode\u003e838da8d\u003c/code\u003e\u003c/a\u003e fix: Make 'browser_name' parameter indirect (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/6dfaff319286ab366413b5aaf17f688c778962bc\"\u003e\u003ccode\u003e6dfaff3\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump setuptools in /pytest-playwright-asyncio (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright-pytest/compare/v0.9.0...v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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 dep...\n\n_Description has been truncated_","html_url":"https://github.com/sleousis/Stonks/pull/59","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sleousis%2FStonks/issues/59","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/59/packages"},{"uuid":"5811143135","node_id":"PR_kwDOUwG_YM8AAAABH7mOrw","number":4,"state":"closed","title":"chore(deps): bump the python-minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T03:26:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-12T09:06:09.000Z","updated_at":"2026-10-19T03:26:32.000Z","time_to_close":584421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-and-patch","update_count":10,"packages":[{"name":"fastapi","old_version":"0.141.1","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.52.4","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"opentelemetry-api","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"anthropic","old_version":"1.5.0","new_version":"1.12.1","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"typer","old_version":"0.27.2","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.16.7","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.141.1` | `0.143.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.52.4` | `0.54.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `1.5.0` | `1.12.1` |\n| [typer](https://github.com/fastapi/typer) | `0.27.2` | `0.27.3` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.7` | `0.16.10` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n\n\nUpdates `fastapi` from 0.141.1 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.141.1...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.52.4 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.53.0\u003c/h2\u003e\n\u003ch2\u003e🌐 Opt-in HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.53.0 adds experimental HTTP/2 through \u003ccode\u003ezttp\u003c/code\u003e, alongside a new \u003ccode\u003ezuvloop\u003c/code\u003e integration and connection-handling improvements.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eServe HTTP/1.1 and HTTP/2 with \u003ccode\u003ezttp\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e). Install \u003ccode\u003ezttp\u003c/code\u003e, then enable HTTP/2 with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Uvicorn negotiates HTTP/2 over TLS with ALPN and supports cleartext prior knowledge.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental.\u003c/strong\u003e Upgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ More event loop choice\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRun Uvicorn with \u003ccode\u003ezuvloop\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e). Install \u003ccode\u003ezuvloop\u003c/code\u003e separately and select it explicitly with \u003ccode\u003e--loop zuvloop\u003c/code\u003e on CPython 3.14 or newer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛡️ More reliable connections and proxies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHonor \u003ccode\u003eConnection: close\u003c/code\u003e token lists\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e). Uvicorn now parses comma-separated tokens case-insensitively across HTTP implementations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrust IPv6 loopback proxies by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e). The default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value now includes \u003ccode\u003e::1\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKeep upgraded WebSockets alive\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e). Uvicorn cancels the HTTP keep-alive timer when the connection becomes a WebSocket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.53.0\"\u003e0.52.4...0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.53.0 (September 14, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e. Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\nUpgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ezuvloop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle comma-separated, case-insensitive \u003ccode\u003eConnection: close\u003c/code\u003e tokens across HTTP implementations (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrust IPv6 loopback in the default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancel the HTTP keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/421708fbc1a704dac8bd4053a7c4c0bf4d3704ee\"\u003e\u003ccode\u003e421708f\u003c/code\u003e\u003c/a\u003e Version 0.53.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3136\"\u003e#3136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f1a1bff7be819f5724d6fdf86dfd448a97c62e23\"\u003e\u003ccode\u003ef1a1bff\u003c/code\u003e\u003c/a\u003e Unset the keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/63971ed952090438896e6eba7d07178b616d97cc\"\u003e\u003ccode\u003e63971ed\u003c/code\u003e\u003c/a\u003e Document HTTP/2 support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3130\"\u003e#3130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7d1a0055aee5e281accc646b559ddd147486bf8a\"\u003e\u003ccode\u003e7d1a005\u003c/code\u003e\u003c/a\u003e Remove race from multiprocess health check test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5ac6265a01ff6dcadb0e4250152c3deaf8a168a9\"\u003e\u003ccode\u003e5ac6265\u003c/code\u003e\u003c/a\u003e Add ::1 to FORWARDED_ALLOW_IPS (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.54.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.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the\nLogger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip\nexpensive work when logging is disabled\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/open-telemetry/opentelemetry-python/commit/14971cef9c84c2354cbaf6871090896fad0f9a1a\"\u003e\u003ccode\u003e14971ce\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.1/0.66b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5752\"\u003e#5752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/44ac26edcee5cc99e03a65d6a1a9978775703e28\"\u003e\u003ccode\u003e44ac26e\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: fix thread leak bug in resource initialization logic (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/570\"\u003e#570\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/a2ec3f91f1c2b735ccba177eaa77d6019a4428ae\"\u003e\u003ccode\u003ea2ec3f9\u003c/code\u003e\u003c/a\u003e [release/v1.45.x-0.66bx] opentelemetry-exporter-otlp-proto-http: restore requ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d5224bf4ffdf2aee1b592ad238dcc32ca957f26b\"\u003e\u003ccode\u003ed5224bf\u003c/code\u003e\u003c/a\u003e opentelemetry-api: improve performance of tracestate parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5746\"\u003e#5746\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5749\"\u003e#5749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/db61173a56475d4fa1276d16182e46b43db83b9e\"\u003e\u003ccode\u003edb61173\u003c/code\u003e\u003c/a\u003e Declare AnyValue and AttributeValue as explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5703\"\u003e#5703\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5750\"\u003e#5750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2\"\u003e\u003ccode\u003e4f0fcfa\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.0/0.66b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690\"\u003e#5690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9\"\u003e\u003ccode\u003e9406f34\u003c/code\u003e\u003c/a\u003e opentelemetry-test-utils: add CapturingSampler for instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c\"\u003e\u003ccode\u003e1fe31a9\u003c/code\u003e\u003c/a\u003e fix: update W3CBaggagePropagator to properly handle whitespace (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680\"\u003e#5680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534\"\u003e\u003ccode\u003e008b5b0\u003c/code\u003e\u003c/a\u003e feat(config): wire top-level attribute_limits into per-signal providers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1\"\u003e\u003ccode\u003eedfad0c\u003c/code\u003e\u003c/a\u003e [opentelemetry-sdk] Fix overwriting of the service.instance.id which has been...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telem...\n\n_Description has been truncated_","html_url":"https://github.com/rouviere-german/deterministic-agent-simulator/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouviere-german%2Fdeterministic-agent-simulator/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"5810899335","node_id":"PR_kwDOP0CBjs8AAAABH7Z5rA","number":133,"state":"open","title":"build(deps): bump the backend-minor-patch group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-12T08:45:51.000Z","updated_at":"2026-10-12T08:45:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"backend-minor-patch","update_count":12,"packages":[{"name":"fastapi","old_version":"0.140.0","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"lxml","old_version":"6.1.1","new_version":"6.1.3","repository_url":"https://github.com/lxml/lxml"},{"name":"mcp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"pandas","old_version":"3.0.5","new_version":"3.0.6","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pydantic","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"uvicorn","old_version":"0.51.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"coverage","old_version":"7.15.2","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"hypothesis","old_version":"6.161.5","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"mypy","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"},{"name":"pygments","old_version":"2.20.0","new_version":"2.21.0","repository_url":"https://github.com/pygments/pygments"},{"name":"ruff","old_version":"0.16.0","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.63","new_version":"0.0.85","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the backend-minor-patch group with 12 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.140.0` | `0.143.0` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.1` | `6.1.3` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `2.2.0` | `2.3.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.5` | `3.0.6` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.4` | `2.14.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.51.0` | `0.54.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.15.2` | `7.16.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.161.5` | `6.168.5` |\n| [mypy](https://github.com/python/mypy) | `2.3.0` | `2.4.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.20.0` | `2.21.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.0` | `0.16.10` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.63` | `0.0.85` |\n\n\nUpdates `fastapi` from 0.140.0 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.140.0...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lxml` from 6.1.1 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.1.3 (2026-09-02)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLP#2165901: External parameter entity parsing was allowed by default\n(with \u003ccode\u003eresolve_entities=\u0026quot;internal\u0026quot;\u003c/code\u003e).\nIssue found by Tomer Fichman.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.1.2 (2026-08-18)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eGH#526: Some build files were missing in the sdist.\nPatch by Nicola Soranzo.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSome minor corrections for error handling cases.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt with Cython 3.2.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/3c1a4c7f2d5a3c19efe01adfd3c33ac3c8fe52c1\"\u003e\u003ccode\u003e3c1a4c7\u003c/code\u003e\u003c/a\u003e Prepare release of 6.1.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/c1191fc55b8d574544203d07e7a02ba3378ced8d\"\u003e\u003ccode\u003ec1191fc\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/03ec3123b9683e7f02ce659f34322667683d3eef\"\u003e\u003ccode\u003e03ec312\u003c/code\u003e\u003c/a\u003e Disable parameter entity parsing when internal-only entity parsing is requested.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/11d03e922e0a7845131df3ab2fb5e894c0ced0ab\"\u003e\u003ccode\u003e11d03e9\u003c/code\u003e\u003c/a\u003e Build: Prevent duplicate Py3.8 wheel builds.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/9efc586ed3555be22548a3188f7f435826834961\"\u003e\u003ccode\u003e9efc586\u003c/code\u003e\u003c/a\u003e Build: Exclude musllinux-ARM from Py3.8 wheel building to prevent slow emulat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/9716fb1e1a80db4ba5e36bf99947dfccd8730471\"\u003e\u003ccode\u003e9716fb1\u003c/code\u003e\u003c/a\u003e Build: Include older PyPy versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/0f3327d3c8fc1ba01c90a866770ad8c4889e537f\"\u003e\u003ccode\u003e0f3327d\u003c/code\u003e\u003c/a\u003e Build: Exclude Win-Aarch64 from wheel build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/6967c960976541979570099de9866af398fb292f\"\u003e\u003ccode\u003e6967c96\u003c/code\u003e\u003c/a\u003e Build: Make all built wheels downloadable even if they don't pass the release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/061218d210747a1181dea76fb6b6d0eebe946b2d\"\u003e\u003ccode\u003e061218d\u003c/code\u003e\u003c/a\u003e Build: Exclude Py3.15 i686 wheels from validation (because they are intention...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/ce9fe0dd26bd5b64fe03b6bcdf68a997ee5a2596\"\u003e\u003ccode\u003ece9fe0d\u003c/code\u003e\u003c/a\u003e Build: Fix Py3.8 windows build.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-6.1.1...lxml-6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003epip install -U mcp\u003c/code\u003e. Docs: \u003ca href=\"https://py.sdk.modelcontextprotocol.io/\"\u003ehttps://py.sdk.modelcontextprotocol.io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMostly fixes, plus three new options. A few things behave differently, so skim these first:\u003c/p\u003e\n\u003ch2\u003eBehaviour changes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003ehttpx2\u0026gt;=2.10.0\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt was \u003ccode\u003e\u0026gt;=2.5.0\u003c/code\u003e. The new \u003ccode\u003emax_sse_event_size\u003c/code\u003e option needs it.\u003c/li\u003e\n\u003cli\u003eNothing to do unless you pin \u003ccode\u003ehttpx2\u003c/code\u003e below 2.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eA tool with an invalid \u003ccode\u003ex-mcp-header\u003c/code\u003e annotation fails at registration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3620\"\u003e#3620\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@mcp.tool()\u003c/code\u003e, \u003ccode\u003eadd_tool\u003c/code\u003e and \u003ccode\u003eTool.from_function\u003c/code\u003e raise \u003ccode\u003eInvalidSignature\u003c/code\u003e, naming the tool and the problem.\u003c/li\u003e\n\u003cli\u003eUntil now the server started, and 2026-07-28 clients silently dropped the tool from their listing.\u003c/li\u003e\n\u003cli\u003eRefused: anything other than a plain \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e or \u003ccode\u003ebool\u003c/code\u003e parameter (so also \u003ccode\u003estr | None\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, lists and enums), a header name that isn't a valid token, and two names that differ only by case.\u003c/li\u003e\n\u003cli\u003eFor an optional header parameter, give the schema directly: \u003ccode\u003eAnnotated[str | None, WithJsonSchema({\u0026quot;type\u0026quot;: \u0026quot;string\u0026quot;, \u0026quot;x-mcp-header\u0026quot;: \u0026quot;Region\u0026quot;})] = None\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eEmpty \u003ccode\u003e_meta\u003c/code\u003e and \u003ccode\u003eparams\u003c/code\u003e are no longer sent\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOn 2025-11-25 and earlier connections, 2.x sent \u003ccode\u003e\u0026quot;_meta\u0026quot;: {}\u003c/code\u003e on every request. Some servers reject that. It is now left out, as in v1.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eping\u003c/code\u003e and list requests without a cursor go out with no \u003ccode\u003eparams\u003c/code\u003e member.\u003c/li\u003e\n\u003cli\u003eOn the receiving side \u003ccode\u003ectx.meta\u003c/code\u003e is \u003ccode\u003eNone\u003c/code\u003e rather than \u003ccode\u003e{}\u003c/code\u003e, and middleware sees \u003ccode\u003ectx.params\u003c/code\u003e as \u003ccode\u003eNone\u003c/code\u003e for a request without params.\u003c/li\u003e\n\u003cli\u003e2026-07-28 connections are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003einitialize\u003c/code\u003e leaves out \u003ccode\u003eexperimental\u003c/code\u003e when none is configured\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt used to send \u003ccode\u003e\u0026quot;experimental\u0026quot;: {}\u003c/code\u003e. \u003ccode\u003eserver/discover\u003c/code\u003e already left it out.\u003c/li\u003e\n\u003cli\u003eClient code reading \u003ccode\u003ecapabilities.experimental\u003c/code\u003e on a legacy connection should handle \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMcp-Param-*\u003c/code\u003e validation looks the tool up by name\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e no longer runs \u003ccode\u003etools/list\u003c/code\u003e for every \u003ccode\u003etools/call\u003c/code\u003e, so middleware no longer sees that extra request.\u003c/li\u003e\n\u003cli\u003eThe registered schema is what gets checked. Middleware that filters or rewrites \u003ccode\u003etools/list\u003c/code\u003e no longer affects it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAn interactive OAuth login no longer counts against request timeouts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe timeout pauses while \u003ccode\u003eOAuthClientProvider\u003c/code\u003e waits on \u003ccode\u003eredirect_handler\u003c/code\u003e and \u003ccode\u003ecallback_handler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThis fixes \u003ccode\u003eClient(mode=\u0026quot;auto\u0026quot;)\u003c/code\u003e settling on \u003ccode\u003e2025-11-25\u003c/code\u003e when the login took longer than 10 seconds.\u003c/li\u003e\n\u003cli\u003eA request timeout no longer ends a login nobody finishes. Put a limit inside \u003ccode\u003ecallback_handler\u003c/code\u003e if you need one.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emax_sse_event_size=\u003c/code\u003e on \u003ccode\u003estreamable_http_client\u003c/code\u003e and \u003ccode\u003eStreamableHttpParameters\u003c/code\u003e. The default stays 1 MiB per SSE event; raise it, or pass \u003ccode\u003eNone\u003c/code\u003e, for larger tool results (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer(subscriptions=False)\u003c/code\u003e stops serving \u003ccode\u003esubscriptions/listen\u003c/code\u003e and advertises \u003ccode\u003elistChanged\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e as false (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3626\"\u003e#3626\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eServer(get_tool_input_schema=...)\u003c/code\u003e lets a low-level server supply a tool's schema for header validation without running its \u003ccode\u003etools/list\u003c/code\u003e handler (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eClient.call_tool\u003c/code\u003e re-lists the tools and retries once after a \u003ccode\u003eHeaderMismatch\u003c/code\u003e (\u003ccode\u003e-32020\u003c/code\u003e) rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ectx: Context[AppState]\u003c/code\u003e works on prompts and resource templates, not only on tools (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3624\"\u003e#3624\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn explicit \u003ccode\u003e\u0026quot;structuredContent\u0026quot;: null\u003c/code\u003e is checked against the output schema instead of being treated as missing (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3621\"\u003e#3621\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eprogress_callback\u003c/code\u003e that raises no longer fails the call on an in-process \u003ccode\u003eClient(server)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3623\"\u003e#3623\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eClient OpenTelemetry spans record JSON-RPC error responses. With \u003ccode\u003emode=\u0026quot;auto\u0026quot;\u003c/code\u003e, connecting to a server without \u003ccode\u003eserver/discover\u003c/code\u003e now shows one \u003ccode\u003eERROR\u003c/code\u003e span for the probe (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estdio_client\u003c/code\u003e resolves the executable off the event loop on Windows (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3510\"\u003e#3510\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/modelcontextprotocol/python-sdk/commit/2118f14f8a19bc158d8a1cf90af58d85d187f849\"\u003e\u003ccode\u003e2118f14\u003c/code\u003e\u003c/a\u003e docs: refresh translations for recent English changes (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3636\"\u003e#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ed9b2d61823b3800de4c48abb23b951ad3a50834\"\u003e\u003ccode\u003eed9b2d6\u003c/code\u003e\u003c/a\u003e Stop counting an interactive OAuth login against request timeouts (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/d5cebd13defe97bf5bacb93496f132d4173cda23\"\u003e\u003ccode\u003ed5cebd1\u003c/code\u003e\u003c/a\u003e Keep inline-snapshot disabled when pytest runs in a terminal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3634\"\u003e#3634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c15566c9dd4828b8082fb7693060e3a0fd67e657\"\u003e\u003ccode\u003ec15566c\u003c/code\u003e\u003c/a\u003e Link What's new to the Header parameters page (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/4d29994023576e4b04e06c9ff2f32757abc50463\"\u003e\u003ccode\u003e4d29994\u003c/code\u003e\u003c/a\u003e Let a newer Deploy Docs run cancel the one in progress (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3633\"\u003e#3633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0acea605135759a2228a33eaa7d792fea2c2282b\"\u003e\u003ccode\u003e0acea60\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c54075ccb8793e9b0d37f0c9e2c58dfd0256c23d\"\u003e\u003ccode\u003ec54075c\u003c/code\u003e\u003c/a\u003e Look the tool schema up by name for Mcp-Param-* validation instead of running...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9afccae3d0bff4062add01b7fb746634b9aad2a7\"\u003e\u003ccode\u003e9afccae\u003c/code\u003e\u003c/a\u003e Retry a tool call once after a HeaderMismatch rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cafa33b3530b0af2e4a8467d11f92bc1cb00368e\"\u003e\u003ccode\u003ecafa33b\u003c/code\u003e\u003c/a\u003e Record JSON-RPC error responses on the client OpenTelemetry span (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0b2fd3ea60efb16b349e8c887cf91bf2f9f773fc\"\u003e\u003ccode\u003e0b2fd3e\u003c/code\u003e\u003c/a\u003e Omit an empty _meta and empty params from outbound requests (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.5 to 3.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.6\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.6.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version. This is also the first release to support Python 3.15.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.6.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2905718b126579d2cf0fe5bae05bd75facb67d77\"\u003e\u003ccode\u003e2905718\u003c/code\u003e\u003c/a\u003e RLS: 3.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/3188cede89a060e7d2ca37298e160d1712a8695a\"\u003e\u003ccode\u003e3188ced\u003c/code\u003e\u003c/a\u003e [backport 3.0.x]  BUG: read_csv(sep=None) raised TypeError instead of falling...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/f0979054b9bb20fb43dadb8be9c7cd052506a5fb\"\u003e\u003ccode\u003ef097905\u003c/code\u003e\u003c/a\u003e DOC: cleanup 3.0.6 whatsnew + mention Python 3.15 support (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68965\"\u003e#68965\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68969\"\u003e#68969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4f68223463a6b960b5cdafc10125bf0987dd2698\"\u003e\u003ccode\u003e4f68223\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix setting with bool column mask into 1-column DataFra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e3df0e81f4e1830f0fe833ef83c51d4a511d9d95\"\u003e\u003ccode\u003ee3df0e8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: full-slice setitem into a pyarrow-backed array shared m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b7735f6070ef031296101acc42a5a30e0f3cc791\"\u003e\u003ccode\u003eb7735f6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/66117\"\u003e#66117\u003c/a\u003e on branch 3.0.x (BUG: interpolate leaving NAs unfilled for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bca0b7769ef0bb5e28d220e245c268142c62d637\"\u003e\u003ccode\u003ebca0b77\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: read_csv leaked the string-intern table when a column f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bca1e5de1f691366cf450c929326e7a35b03218a\"\u003e\u003ccode\u003ebca1e5d\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: prevent external mutation of RangeIndex._data (CoW) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6\"\u003e#6\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/c95b42cb0c91bd0cadb34429e1df377926087e0d\"\u003e\u003ccode\u003ec95b42c\u003c/code\u003e\u003c/a\u003e [3.0.x] CI: skip cython-lint on pre-commit.ci (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68910\"\u003e#68910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9cbd884bb9218323777d8237163dea1a30e7e506\"\u003e\u003ccode\u003e9cbd884\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] Backport of some already merged regression fixes (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68447\"\u003e#68447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.5...v3.0.6\"\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.4 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.4...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.51.0 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.53.0\u003c/h2\u003e\n\u003ch2\u003e🌐 Opt-in HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.53.0 adds experimental HTTP/2 through \u003ccode\u003ezttp\u003c/code\u003e, alongside a new \u003ccode\u003ezuvloop\u003c/code\u003e integration and connection-handling improvements.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eServe HTTP/1.1 and HTTP/2 with \u003ccode\u003ezttp\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e). Install \u003ccode\u003ezttp\u003c/code\u003e, then enable HTTP/2 with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Uvicorn negotiates HTTP/2 over TLS with ALPN and supports cleartext prior knowledge.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental.\u003c/strong\u003e Upgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ More event loop choice\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRun Uvicorn with \u003ccode\u003ezuvloop\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e). Install \u003ccode\u003ezuvloop\u003c/code\u003e separately and select it explicitly with \u003ccode\u003e--loop zuvloop\u003c/code\u003e on CPython 3.14 or newer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛡️ More reliable connections and proxies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHonor \u003ccode\u003eConnection: close\u003c/code\u003e token lists\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e). Uvicorn now parses comma-separated tokens case-insensitively across HTTP implementations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrust IPv6 loopback proxies by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e). The default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value now includes \u003ccode\u003e::1\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKeep upgraded WebSockets alive\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e). Uvicorn cancels the HTTP keep-alive timer when the connection becomes a WebSocket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.53.0\"\u003e0.52.4...0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.3\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.53.0 (September 14, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e. Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\nUpgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ezuvloop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle comma-separated, case-insensitive \u003ccode\u003eConnection: close\u003c/code\u003e tokens across HTTP implementations (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrust IPv6 loopback in the default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancel the HTTP keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.4 (August 18, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.3 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3067\"\u003e#3067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.2 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3063\"\u003e#3063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.1 (August 1, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eComplete the closing handshake on server-initiated WebSocket closes in the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e and \u003ccode\u003ewsproto\u003c/code\u003e implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing write flow control to the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e implementation, preventing data truncation on server-initiated closes with large in-flight payloads (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3048\"\u003e#3048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle connection loss while a WebSocket write is waiting on backpressure (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3050\"\u003e#3050\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/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/421708fbc1a704dac8bd4053a7c4c0bf4d3704ee\"\u003e\u003ccode\u003e421708f\u003c/code\u003e\u003c/a\u003e Version 0.53.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3136\"\u003e#3136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f1a1bff7be819f5724d6fdf86dfd448a97c62e23\"\u003e\u003ccode\u003ef1a1bff\u003c/code\u003e\u003c/a\u003e Unset the keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/63971ed952090438896e6eba7d07178b616d97cc\"\u003e\u003ccode\u003e63971ed\u003c/code\u003e\u003c/a\u003e Document HTTP/2 support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3130\"\u003e#3130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7d1a0055aee5e281accc646b559ddd147486bf8a\"\u003e\u003ccode\u003e7d1a005\u003c/code\u003e\u003c/a\u003e Remove race from multiprocess health check test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5ac6265a01ff6dcadb0e4250152c3deaf8a168a9\"\u003e\u003ccode\u003e5ac6265\u003c/code\u003e\u003c/a\u003e Add ::1 to FORWARDED_ALLOW_IPS (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.51.0...0.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.15.2 to 7.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/releases\"\u003ecoverage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.16.2\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a function return could mistakenly report an uncovered branch. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003eissue 2168\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is a \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the \u003ccode\u003ewith\u003c/code\u003e raised. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003eissue 2289\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own. Now they are, on Python 3.11 and later. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003eissue 1923\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.2\"\u003ecoverage 7.16.2\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.2\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.16.1\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.1 — 2026-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: when the body of an irrefutable \u003ccode\u003ecase\u003c/code\u003e (like \u003ccode\u003ecase _:\u003c/code\u003e) is entirely excluded, the \u003ccode\u003ecase\u003c/code\u003e line is now excluded too, just as an excluded \u003ccode\u003eelse:\u003c/code\u003e body removes the \u003ccode\u003eelse:\u003c/code\u003e line. Previously the \u003ccode\u003ecase\u003c/code\u003e line was left behind and reported as missing. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1563\"\u003eissue 1563\u003c/a\u003e with \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2269\"\u003epull 2269\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: using \u003ca href=\"https://coverage.readthedocs.io/en/latest/api_coveragedata.html#coverage.CoverageData.update\"\u003eCoverageData.update()\u003c/a\u003e twice on an in-memory database would fail, as described in \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2279\"\u003eissue 2279\u003c/a\u003e. This is now fixed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.1\"\u003ecoverage 7.16.1\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.1\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.16.0\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.0 — 2026-08-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen combining files, now path separator slashes will automatically be converted to the local file system style. This makes it less necessary to define \u003ccode\u003e[paths]\u003c/code\u003e configuration to combine data across operating systems. Fixes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2266\"\u003eissue 2266\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ca href=\"https://coverage.readthedocs.io/en/latest/api_coverage.html#coverage.Coverage.switch_context\"\u003eCoverage.switch_context()\u003c/a\u003e method now returns the previous context.\u003c/li\u003e\n\u003cli\u003eFix: previously, a \u003ccode\u003e[paths]\u003c/code\u003e pattern would be replaced everywhere in a file path when it was only meant to be replaced once, in the leading portion of the path. This is now fixed, in \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2268\"\u003epull 2268\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixes to validation of options and configuration settings:\n\u003cul\u003e\n\u003cli\u003eNegative precision settings now always cause useful error messages (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2261\"\u003epull 2261\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn invalid regex in the \u003ccode\u003e--contexts\u003c/code\u003e option (or the \u003ccode\u003e[report] contexts\u003c/code\u003e setting) reported a confusing “Couldn’t use data file …: user-defined function raised exception” error. Now it raises a proper configuration error naming the bad regex, like other regex settings do (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2262\"\u003epull 2262\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNon-string values in TOML configuration settings now produce a helpful error message instead of a traceback. This affects list settings whose elements aren’t strings (like \u003ccode\u003eomit\u003c/code\u003e, \u003ccode\u003eexclude_lines\u003c/code\u003e, or a \u003ccode\u003e[paths]\u003c/code\u003e entry), file settings like \u003ccode\u003edata_file\u003c/code\u003e, and any wrong-typed value in the \u003ccode\u003e[paths]\u003c/code\u003e section (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2263\"\u003epull 2263\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecoverage run\u003c/code\u003e refuses run-affecting command-line options like \u003ccode\u003e--branch\u003c/code\u003e alongside \u003ccode\u003e--concurrency=multiprocessing\u003c/code\u003e, since they can’t reach the subprocesses. The check only recognized \u003ccode\u003emultiprocessing\u003c/code\u003e as the entire option value, so \u003ccode\u003e--concurrency=multiprocessing,thread\u003c/code\u003e slipped through and failed later with “Can’t combine statement coverage data with branch data”. Each named concurrency library is now properly considered (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2270\"\u003epull 2270\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix: \u003ccode\u003ecoverage annotate -d DIR\u003c/code\u003e raised an \u003ccode\u003eAssertionError\u003c/code\u003e if any measured file had an extension other than \u003ccode\u003e.py\u003c/code\u003e, such as a \u003ccode\u003e.pyw\u003c/code\u003e file on Windows. The original extension is now restored on the annotated copy (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2265\"\u003epull 2265\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.0\"\u003ecoverage 7.16.0\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.15.4\u003c/h2\u003e\n\u003ch2\u003eVersion 7.15.4 — 2026-08-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in the HTML report, a source file name containing a double quote (legal on POSIX) wasn’t escaped where it’s dropped into the \u003ccode\u003ehref\u003c/code\u003e of the index and prev/next links, so it could close the attribute early and inject markup. Page URLs are now escaped. Thanks, \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2227\"\u003eRajath Mohare\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: the LCOV report wrote file names and other fields into its line-oriented records without neutralizing control characters. A measured file whose name contained a newline (legal on POSIX) could forge extra records, inflating the coverage seen by tools that read the report. Control characters in a field are now replaced. Thanks, \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2226\"\u003eRajath Mohare\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eWheels are now provided for Python 3.15.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.15.4\"\u003ecoverage 7.15.4\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.15.4\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.15.3\u003c/h2\u003e\n\u003ch2\u003eVersion 7.15.3 — 2026-08-02\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: the sysmon core is incompatible with dynamic contexts. Previously, the combination would be prevented when read from the coverage.py configuration. But using the context API as pytest-cov does, contexts would be silently dropped. Now a warning is issued, thanks to \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2234\"\u003eJisang Han\u003c/a\u003e. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2200\"\u003eissue 2200\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eA performance improvement in the low-level line number bookkeeping when combining data files, thanks to \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2239\"\u003eKevin Turcios\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/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a\nfunction return could mistakenly report an uncovered branch. This is now\nfixed, closing \u003ccode\u003eissue 2168\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is\na \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the\n\u003ccode\u003ewith\u003c/code\u003e raised.  This is now fixed, closing \u003ccode\u003eissue 2289\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as\n\u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own.\nNow they are, on Python 3.11 and later.  Closes \u003ccode\u003eissue 1923\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1923: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003ecoveragepy/coveragepy#1923\u003c/a\u003e\n.. _issue 2168: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003ecoveragepy/coveragepy#2168\u003c/a\u003e\n.. _issue 2289: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003ecoveragepy/coveragepy#2289\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-16-1:\u003c/p\u003e\n\u003ch2\u003eVersion 7.16.1 — 2026-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when the body of an irrefutable \u003ccode\u003ecase\u003c/code\u003e (like \u003ccode\u003ecase _:\u003c/code\u003e) is entirely\nexcluded, the \u003ccode\u003ecase\u003c/code\u003e line is now excluded too, just as an excluded\n\u003ccode\u003eelse:\u003c/code\u003e body removes the \u003ccode\u003eelse:\u003c/code\u003e line.  Previously the \u003ccode\u003ecase\u003c/code\u003e line was\nleft behind and reported as missing.  Closes \u003ccode\u003eissue 1563\u003c/code\u003e_ with \u003ccode\u003epull 2269\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: using :meth:\u003ccode\u003e.CoverageData.update\u003c/code\u003e twice on an in-memory database would\nfail, as described in \u003ccode\u003eissue 2279\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1563: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1563\"\u003ecoveragepy/coveragepy#1563\u003c/a\u003e\n.. _pull 2269: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2269\"\u003ecoveragepy/coveragepy#2269\u003c/a\u003e\n.. _issue 2279: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2279\"\u003ecoveragepy/coveragepy#2279\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-16-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.16.0 — 2026-08-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen combining files, now path separator slashes will automatically be\nconverted to the local file system style. This makes it less necessary to\ndefine \u003ccode\u003e[paths]\u003c/code\u003e configuration to combine data across operating systems.\nFixes \u003ccode\u003eissue 2266\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :meth:\u003ccode\u003e.Coverage.switch_context\u003c/code\u003e method now returns the previous context.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: previously, a \u003ccode\u003e[paths]\u003c/code\u003e pattern would be replaced everywhere in a file\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/5643ae7c682bbd56ee1ac2b11556145ab8c2cab0\"\u003e\u003ccode\u003e5643ae7\u003c/code\u003e\u003c/a\u003e docs: prep for 7.16.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a3e969fc6ce8273538702a2336d8c2674f8017d8\"\u003e\u003ccode\u003ea3e969f\u003c/code\u003e\u003c/a\u003e fix: dynamic_context for \u003ca href=\"https://github.com/staticmethod\"\u003e\u003ccode\u003e@​staticmethod\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/classmethod\"\u003e\u003ccode\u003e@​classmethod\u003c/code\u003e\u003c/a\u003e tests (issue 1923) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ad72362f03e59643865d15ffadd002529a777a9\"\u003e\u003ccode\u003e8ad7236\u003c/code\u003e\u003c/a\u003e fix: stop counting the try/else line when a with statement raises (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2301\"\u003e#2301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c6dab1fc387d161fe5938ce9421a7a38ca81ae7f\"\u003e\u003ccode\u003ec6dab1f\u003c/code\u003e\u003c/a\u003e fix(debug): debug output doesn't mis-handle odd line separators \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2296\"\u003e#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/08fbc3229adc8e7681a0d9134d3d5beb1684ae54\"\u003e\u003ccode\u003e08fbc32\u003c/code\u003e\u003c/a\u003e style: Protocols should use \u003ccode\u003e...\u003c/code\u003e for method bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/bc7b0e386388148687241cadcab56ac3e17aea9c\"\u003e\u003ccode\u003ebc7b0e3\u003c/code\u003e\u003c/a\u003e refactor: positional-only args are better than pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/52afd6be360c3b949d69ff83aca873c119a7959a\"\u003e\u003ccode\u003e52afd6b\u003c/code\u003e\u003c/a\u003e Document parallel tox coverage data files (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2284\"\u003e#2284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f653aaec4c58f89375716389e4ca17dd056d2069\"\u003e\u003ccode\u003ef653aae\u003c/code\u003e\u003c/a\u003e fix: loop completion arcs on Python 3.14 (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cc1ced4d4c8ef7674a824002aa5157d1f37acd78\"\u003e\u003ccode\u003ecc1ced4\u003c/code\u003e\u003c/a\u003e test: PyPy still compiles comprehensions as functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/85a9088395e89840cb11c1c86735ba1f7a62d50d\"\u003e\u003ccode\u003e85a9088\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.15.2...7.16.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.161.5 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypo...\n\n_Description has been truncated_","html_url":"https://github.com/Interloperok/AI.InfraCalculator/pull/133","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interloperok%2FAI.InfraCalculator/issues/133","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/133/packages"},{"uuid":"5810880805","node_id":"PR_kwDOUwG34M8AAAABH7Y9Eg","number":7,"state":"closed","title":"chore(deps): bump the python-minor-and-patch 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-10-19T03:19:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-12T08:44:24.000Z","updated_at":"2026-10-19T03:19:37.000Z","time_to_close":585311,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-and-patch","update_count":9,"packages":[{"name":"fastapi","old_version":"0.141.1","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.53.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"opentelemetry-api","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"anthropic","old_version":"1.5.0","new_version":"1.12.1","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.16.7","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.141.1` | `0.143.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.53.0` | `0.54.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `1.5.0` | `1.12.1` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.7` | `0.16.10` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n\n\nUpdates `fastapi` from 0.141.1 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.141.1...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.53.0 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.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.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the\nLogger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip\nexpensive work when logging is disabled\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/open-telemetry/opentelemetry-python/commit/14971cef9c84c2354cbaf6871090896fad0f9a1a\"\u003e\u003ccode\u003e14971ce\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.1/0.66b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5752\"\u003e#5752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/44ac26edcee5cc99e03a65d6a1a9978775703e28\"\u003e\u003ccode\u003e44ac26e\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: fix thread leak bug in resource initialization logic (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/570\"\u003e#570\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/a2ec3f91f1c2b735ccba177eaa77d6019a4428ae\"\u003e\u003ccode\u003ea2ec3f9\u003c/code\u003e\u003c/a\u003e [release/v1.45.x-0.66bx] opentelemetry-exporter-otlp-proto-http: restore requ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d5224bf4ffdf2aee1b592ad238dcc32ca957f26b\"\u003e\u003ccode\u003ed5224bf\u003c/code\u003e\u003c/a\u003e opentelemetry-api: improve performance of tracestate parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5746\"\u003e#5746\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5749\"\u003e#5749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/db61173a56475d4fa1276d16182e46b43db83b9e\"\u003e\u003ccode\u003edb61173\u003c/code\u003e\u003c/a\u003e Declare AnyValue and AttributeValue as explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5703\"\u003e#5703\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5750\"\u003e#5750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2\"\u003e\u003ccode\u003e4f0fcfa\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.0/0.66b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690\"\u003e#5690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9\"\u003e\u003ccode\u003e9406f34\u003c/code\u003e\u003c/a\u003e opentelemetry-test-utils: add CapturingSampler for instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c\"\u003e\u003ccode\u003e1fe31a9\u003c/code\u003e\u003c/a\u003e fix: update W3CBaggagePropagator to properly handle whitespace (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680\"\u003e#5680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534\"\u003e\u003ccode\u003e008b5b0\u003c/code\u003e\u003c/a\u003e feat(config): wire top-level attribute_limits into per-signal providers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1\"\u003e\u003ccode\u003eedfad0c\u003c/code\u003e\u003c/a\u003e [opentelemetry-sdk] Fix overwriting of the service.instance.id which has been...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the\nLogger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip\nexpensive work when logging is disabled\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/open-telemetry/opentelemetry-python/commit/14971cef9c84c2354cbaf6871090896fad0f9a1a\"\u003e\u003ccode\u003e14971ce\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.1/0.66b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5752\"\u003e#5752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/44ac26edcee5cc99e03a65d6a1a9978775703e28\"\u003e\u003ccode\u003e44ac26e\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: fix thread leak bug in resource initialization logic (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/570\"\u003e#570\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/a2ec3f91f1c2b735ccba177eaa77d6019a4428ae\"\u003e\u003ccode\u003ea2ec3f9\u003c/code\u003e\u003c/a\u003e [release/v1.45.x-0.66bx] opentelemetry-exporter-otlp-proto-http: restore requ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d5224bf4ffdf2aee1b592ad238dcc32ca957f26b\"\u003e\u003ccode\u003ed5224bf\u003c/code\u003e\u003c/a\u003e opentelemetry-api: improve performance of tracestate parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5746\"\u003e#5746\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5749\"\u003e#5749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/db61173a56475d4fa1276d16182e46b43db83b9e\"\u003e\u003ccode\u003edb61173\u003c/code\u003e\u003c/a\u003e Declare AnyValue and AttributeValue as explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5703\"\u003e#5703\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5750\"\u003e#5750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2\"\u003e\u003ccode\u003e4f0fcfa\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.0/0.66b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690\"\u003e#5690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9\"\u003e\u003ccode\u003e9406f34\u003c/code\u003e\u003c/a\u003e opentelemetry-test-utils: add CapturingSampler for instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c\"\u003e\u003ccode\u003e1fe31a9\u003c/code\u003e\u003c/a\u003e fix: update W3CBaggagePropagator to properly handle whitespace (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680\"\u003e#5680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534\"\u003e\u003ccode\u003e008b5b0\u003c/code\u003e\u003c/a\u003e feat(config): wire top-level attribute_limits into per-signal providers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1\"\u003e\u003ccode\u003eedfad0c\u003c/code\u003e\u003c/a\u003e [opentelemetry-sdk] Fix overwriting of the service.instance.id which has been...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 1.5.0 to 1.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/releases\"\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/rouviere-german/agent-supervision-tree/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouviere-german%2Fagent-supervision-tree/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}],"issue_packages":[{"old_version":"6.169.0","new_version":"6.170.1","update_type":"minor","path":null,"pr_created_at":"2026-10-21T02:14:32.000Z","version_change":"6.169.0 → 6.170.1","issue":{"uuid":"5953040926","node_id":"PR_kwDORqrzA88AAAABJsO8ng","number":728,"state":"open","title":"chore(deps-dev): bump hypothesis from 6.169.0 to 6.170.1","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-10-21T02:14:32.000Z","updated_at":"2026-10-21T02:14:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"hypothesis","old_version":"6.169.0","new_version":"6.170.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.169.0 to 6.170.1.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/718686d1e392968eb0953c043ef249c5d9d11a59\"\u003e\u003ccode\u003e718686d\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.170.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ba6c3e39cf741c226412194acc21ab719a35f6e7\"\u003e\u003ccode\u003eba6c3e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4834\"\u003e#4834\u003c/a\u003e from Zac-HD/claude/hypothesis-4458-prototypes-nqza1f\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7572cd07bbb9d845c40f71c95ba3853fb7467403\"\u003e\u003ccode\u003e7572cd0\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.170.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1ad039f4ead3a91721bb8adde8da6c46979d549c\"\u003e\u003ccode\u003e1ad039f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4871\"\u003e#4871\u003c/a\u003e from Zac-HD/claude/hypothesis-conformance-tests-c6877l\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a03eb1bd2a501677515e494c6d7824a6ce9db390\"\u003e\u003ccode\u003ea03eb1b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4895\"\u003e#4895\u003c/a\u003e from TaiSakuma/add-hypothesis-awkward\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7219a20cac605838a9bd7d74e9f43113f0078594\"\u003e\u003ccode\u003e7219a20\u003c/code\u003e\u003c/a\u003e Strengthen provider conformance tests and fix BytestringProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e7c0eb9cc13f75ed6799396064f16a55edd3a398\"\u003e\u003ccode\u003ee7c0eb9\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c3705d257fdde89324cdaca53390011cc116324a\"\u003e\u003ccode\u003ec3705d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4898\"\u003e#4898\u003c/a\u003e from Arjun-Aravind/fix/unresolved-lazy-annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6ec54d574182ae21b842bf480e59ce894fcb400e\"\u003e\u003ccode\u003e6ec54d5\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/37c64201b5b708828bda91b0a5ec418efadcaf2f\"\u003e\u003ccode\u003e37c6420\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4903\"\u003e#4903\u003c/a\u003e from MarcoGorelli/random-seed-signature\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.169.0...v6.170.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=hypothesis\u0026package-manager=uv\u0026previous-version=6.169.0\u0026new-version=6.170.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/tuanductran/soulmap-ai/pull/728","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanductran%2Fsoulmap-ai/issues/728","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/728/packages"}},{"old_version":"6.131.0","new_version":"6.169.1","update_type":"minor","path":null,"pr_created_at":"2026-10-17T16:23:59.000Z","version_change":"6.131.0 → 6.169.1","issue":{"uuid":"5900529028","node_id":"PR_kwDOR9i09M8AAAABJCwuGQ","number":621,"state":"open","title":"chore(deps): bump the patch-and-minor group across 1 directory with 185 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-17T16:23:59.000Z","updated_at":"2026-10-17T16:24:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"patch-and-minor","update_count":185,"packages":[{"name":"fastapi","old_version":"0.135.3","new_version":"0.143.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic","old_version":"2.11.10","new_version":"2.14.1","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.15.0","new_version":"2.16.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"sqlalchemy","old_version":"2.0.48","new_version":"2.1.4","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.18.4","new_version":"1.20.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"asyncpg","old_version":"0.30.0","new_version":"0.32.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.13","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"gitpython","old_version":"3.1.50","new_version":"3.2.1","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"pyjwt","old_version":"2.12.0","new_version":"2.15.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"authlib","old_version":"1.6.11","new_version":"1.9.1","repository_url":"https://github.com/authlib/authlib"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.26.0","repository_url":"https://github.com/prometheus/client_python"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-distro","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-exporter-otlp","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-common","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-http","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-httpx","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-logging","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-redis","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-sqlalchemy","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-system-metrics","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-celery","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-proto","old_version":"1.40.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.61b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"langgraph","old_version":"1.2.13","new_version":"1.2.15","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-checkpoint","old_version":"4.0.1","new_version":"4.3.0","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-sdk","old_version":"0.3.13","new_version":"0.4.7","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langchain-community","old_version":"0.3.5","new_version":"0.4.2","repository_url":"https://github.com/langchain-ai/langchain-community"},{"name":"langserve","old_version":"0.2.1","new_version":"0.3.3","repository_url":"https://github.com/langchain-ai/langserve"},{"name":"celery","old_version":"5.6.2","new_version":"5.6.3","repository_url":"https://github.com/celery/celery"},{"name":"billiard","old_version":"4.2.4","new_version":"4.3.1","repository_url":"https://github.com/celery/billiard"},{"name":"chromadb","old_version":"1.0.15","new_version":"1.5.9","repository_url":"https://github.com/chroma-core/chroma"},{"name":"eth-account","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/ApeWorX/eth-account"},{"name":"eth-keys","old_version":"0.7.1","new_version":"0.8.0","repository_url":"https://github.com/ApeWorX/eth-keys"},{"name":"aiohttp","old_version":"3.13.4","new_version":"3.14.5","repository_url":"https://github.com/aio-libs/aiohttp"},{"name":"requests","old_version":"2.33.0","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"python-socketio","old_version":"5.15.0","new_version":"5.17.0","repository_url":"https://github.com/sponsors/miguelgrinberg"},{"name":"python-engineio","old_version":"4.12.2","new_version":"4.14.0","repository_url":"https://github.com/miguelgrinberg/python-engineio"},{"name":"python-multipart","old_version":"0.0.26","new_version":"0.0.32","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"discord-py","old_version":"2.5.2","new_version":"2.7.1","repository_url":"https://github.com/Rapptz/discord.py"},{"name":"py-cord","old_version":"2.6.1","new_version":"2.8.1","repository_url":"https://github.com/Pycord-Development/pycord"},{"name":"docker","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/docker/docker-py"},{"name":"click","old_version":"8.2.1","new_version":"8.5.0","repository_url":"https://github.com/pallets/click"},{"name":"typer","old_version":"0.16.0","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"python-dotenv","old_version":"1.2.2","new_version":"1.2.4","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"apscheduler","old_version":"3.11.2","new_version":"3.11.3","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"tenacity","old_version":"9.1.4","new_version":"9.2.1","repository_url":"https://github.com/jd/tenacity"},{"name":"slowapi","old_version":"0.1.9","new_version":"0.1.10","repository_url":"https://github.com/laurents/slowapi"},{"name":"colorlog","old_version":"6.9.0","new_version":"6.12.0","repository_url":"https://github.com/borntyping/python-colorlog"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.15.0"},{"name":"lxml","old_version":"6.1.0","new_version":"6.1.3","repository_url":"https://github.com/lxml/lxml"},{"name":"feedparser","old_version":"6.0.11","new_version":"6.0.14","repository_url":"https://github.com/kurtmckee/feedparser"},{"name":"numpy","old_version":"2.3.2","new_version":"2.5.4","repository_url":"https://github.com/numpy/numpy"},{"name":"matplotlib","old_version":"3.10.5","new_version":"3.11.2","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"scipy","old_version":"1.16.1","new_version":"1.18.1","repository_url":"https://github.com/scipy/scipy"},{"name":"scikit-learn","old_version":"1.7.1","new_version":"1.9.1","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"strawberry-graphql","old_version":"0.312.3","new_version":"0.335.0","repository_url":"https://github.com/sponsors/strawberry-graphql"},{"name":"graphql-core","old_version":"3.2.8","new_version":"3.3.0","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"qiskit","old_version":"2.3.1","new_version":"2.5.2","repository_url":"https://github.com/Qiskit/qiskit"},{"name":"networkx","old_version":"3.5","new_version":"3.7","repository_url":"https://github.com/networkx/networkx"},{"name":"onnxruntime","old_version":"1.22.1","new_version":"1.31.0","repository_url":"https://github.com/microsoft/onnxruntime"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"durationpy","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/icholy/durationpy"},{"name":"levenshtein","old_version":"0.27.3","new_version":"0.27.5","repository_url":"https://github.com/rapidfuzz/Levenshtein"},{"name":"rapidfuzz","old_version":"3.14.3","new_version":"3.14.6","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"pytest","old_version":"9.0.2","new_version":"9.1.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-benchmark","old_version":"5.1.0","new_version":"5.3.0","repository_url":"https://github.com/ionelmc/pytest-benchmark"},{"name":"hypothesis","old_version":"6.131.0","new_version":"6.169.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"black","old_version":"26.3.1","new_version":"26.10.1","repository_url":"https://github.com/psf/black"},{"name":"ruff","old_version":"0.9.0","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"flake8","old_version":"7.3.0","new_version":"7.4.1","repository_url":"https://github.com/pycqa/flake8"},{"name":"pylint","old_version":"4.0.5","new_version":"4.1.3","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.4","repository_url":"https://github.com/PyCQA/bandit"},{"name":"semgrep","old_version":"1.92.0","new_version":"1.180.0","repository_url":"https://github.com/semgrep/semgrep"},{"name":"pip-audit","old_version":"2.8.0","new_version":"2.10.1","repository_url":"https://github.com/pypa/pip-audit"},{"name":"autogen","old_version":"0.5.0","new_version":"0.14.1","repository_url":"https://github.com/ag2ai/ag2classic"},{"name":"fakeredis","old_version":"2.33.0","new_version":"2.40.0","repository_url":"https://github.com/cunla/fakeredis-py"},{"name":"safety","old_version":"3.2.0","new_version":"3.8.1","repository_url":"https://github.com/pyupio/safety"},{"name":"accelerate","old_version":"1.10.0","new_version":"1.15.0","repository_url":"https://github.com/huggingface/accelerate"},{"name":"bitsandbytes","old_version":"0.46.1","new_version":"0.50.2","repository_url":"https://github.com/bitsandbytes-foundation/bitsandbytes"},{"name":"langchain-text-splitters","old_version":"1.1.1","new_version":"1.1.3","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langsmith","old_version":"0.7.16","new_version":"0.14.8","repository_url":"https://github.com/langchain-ai/langsmith-python"},{"name":"nltk","old_version":"3.9.1","new_version":"3.10.3","repository_url":"https://github.com/nltk/nltk"},{"name":"safetensors","old_version":"0.5.3","new_version":"0.8.0","repository_url":"https://github.com/huggingface/safetensors"},{"name":"streamlit","old_version":"1.54.0","new_version":"1.65.0","repository_url":"https://github.com/streamlit/streamlit"},{"name":"tokenizers","old_version":"0.21.4","new_version":"0.23.3","repository_url":"https://github.com/huggingface/tokenizers"},{"name":"torch","old_version":"2.8.0","new_version":"2.14.1","repository_url":"https://github.com/pytorch/pytorch"},{"name":"aiohappyeyeballs","old_version":"2.6.1","new_version":"2.7.1","repository_url":"https://github.com/aio-libs/aiohappyeyeballs"},{"name":"amqp","old_version":"5.3.1","new_version":"5.4.1","repository_url":"https://github.com/celery/py-amqp"},{"name":"annotated-doc","old_version":"0.0.4","new_version":"0.0.5","repository_url":"https://github.com/fastapi/annotated-doc"},{"name":"annotated-types","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/annotated-types/annotated-types"},{"name":"anyio","old_version":"4.14.2","new_version":"4.15.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"arq","old_version":"0.27.0","new_version":"0.28.0","repository_url":"https://github.com/python-arq/arq"},{"name":"asgiref","old_version":"3.11.1","new_version":"3.12.1","repository_url":"https://github.com/django/asgiref"},{"name":"astroid","old_version":"4.0.4","new_version":"4.3.4","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"bidict","old_version":"0.23.1","new_version":"0.24.1","repository_url":"https://github.com/jab/bidict"},{"name":"boto3","old_version":"1.42.64","new_version":"1.43.113","repository_url":"https://github.com/boto/boto3"},{"name":"build","old_version":"1.3.0","new_version":"1.6.1","repository_url":"https://github.com/pypa/build"},{"name":"cffi","old_version":"2.0.0","new_version":"2.1.1","repository_url":"https://github.com/python-cffi/cffi"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.5.2","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click-repl","old_version":"0.3.0","new_version":"0.4.1","repository_url":"https://github.com/click-contrib/click-repl"},{"name":"contourpy","old_version":"1.3.3","new_version":"1.4.0","repository_url":"https://github.com/contourpy/contourpy"},{"name":"coverage","old_version":"7.13.4","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"decorator","old_version":"5.2.1","new_version":"5.3.1","repository_url":"https://github.com/micheles/decorator"},{"name":"dnspython","old_version":"2.8.0","new_version":"2.9.0","repository_url":"https://github.com/rthalley/dnspython"},{"name":"docstring-parser","old_version":"0.17.0","new_version":"0.18.0","repository_url":"https://github.com/rr-/docstring_parser"},{"name":"fabric","old_version":"3.2.2","new_version":"3.2.3","repository_url":"https://github.com/fabric/fabric"},{"name":"flask-cors","old_version":"6.0.1","new_version":"6.0.5","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"flask-socketio","old_version":"5.5.1","new_version":"5.7.0"},{"name":"flatbuffers","old_version":"25.2.10","new_version":"25.12.19","repository_url":"https://github.com/google/flatbuffers"},{"name":"fonttools","old_version":"4.60.2","new_version":"4.67.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"frozenlist","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/aio-libs/frozenlist"},{"name":"fsspec","old_version":"2026.6.0","new_version":"2026.9.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geographiclib","old_version":"2.0","new_version":"2.1","repository_url":"https://github.com/geographiclib/geographiclib-python"},{"name":"google-auth","old_version":"2.40.3","new_version":"2.62.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"googleapis-common-protos","old_version":"1.70.0","new_version":"1.75.5","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"greenlet","old_version":"3.3.2","new_version":"3.5.6","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"grpcio","old_version":"1.74.0","new_version":"1.84.0","repository_url":"https://github.com/grpc/grpc"},{"name":"hiredis","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/redis/hiredis-py"},{"name":"httptools","old_version":"0.6.4","new_version":"0.9.0","repository_url":"https://github.com/MagicStack/httptools"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.2","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"jiter","old_version":"0.10.0","new_version":"0.17.0","repository_url":"https://github.com/pydantic/jiter"},{"name":"joblib","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/joblib/joblib"},{"name":"jsonpatch","old_version":"1.33","new_version":"1.35","repository_url":"https://github.com/stefankoegl/python-json-patch"},{"name":"jsonpointer","old_version":"3.0.0","new_version":"3.2.1","repository_url":"https://github.com/stefankoegl/python-json-pointer"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"jsonschema-specifications","old_version":"2025.4.1","new_version":"2025.9.1","repository_url":"https://github.com/python-jsonschema/jsonschema-specifications"},{"name":"kiwisolver","old_version":"1.4.8","new_version":"1.5.1","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mako","old_version":"1.3.12","new_version":"1.4.3","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.4","repository_url":"https://github.com/pallets/markupsafe"},{"name":"mmh3","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/hajimes/mmh3"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msgpack","old_version":"1.2.1","new_version":"1.2.3","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"narwhals","old_version":"2.0.1","new_version":"2.27.1","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"orjson","old_version":"3.11.7","new_version":"3.13.0","repository_url":"https://github.com/ijl/orjson"},{"name":"pathspec","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"ping3","old_version":"5.1.5","new_version":"5.1.6","repository_url":"https://github.com/kyan001/ping3"},{"name":"pip-api","old_version":"0.0.34","new_version":"0.0.35","repository_url":"https://github.com/di/pip-api"},{"name":"pip-tools","old_version":"7.5.3","new_version":"7.6.2","repository_url":"https://github.com/jazzband/pip-tools"},{"name":"platformdirs","old_version":"4.9.4","new_version":"4.13.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"prompt-toolkit","old_version":"3.0.52","new_version":"3.0.53","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"propcache","old_version":"0.3.2","new_version":"0.5.4","repository_url":"https://github.com/aio-libs/propcache"},{"name":"pybase64","old_version":"1.4.2","new_version":"1.5.1","repository_url":"https://github.com/mayeut/pybase64"},{"name":"pycodestyle","old_version":"2.14.0","new_version":"2.15.0","repository_url":"https://github.com/PyCQA/pycodestyle"},{"name":"pydeck","old_version":"0.9.1","new_version":"0.9.3","repository_url":"https://github.com/visgl/deck.gl"},{"name":"pygithub","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/pygithub/pygithub"},{"name":"pygments","old_version":"2.20.0","new_version":"2.21.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.3.3","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pypika","old_version":"0.48.9","new_version":"0.51.1","repository_url":"https://github.com/kayak/pypika"},{"name":"pyproject-hooks","old_version":"1.2.0","new_version":"1.3.3","repository_url":"https://github.com/pypa/pyproject-hooks"},{"name":"pyreadline3","old_version":"3.5.4","new_version":"3.5.6","repository_url":"https://github.com/pyreadline3/pyreadline3"},{"name":"python-levenshtein","old_version":"0.27.3","new_version":"0.27.5","repository_url":"https://github.com/rapidfuzz/python-Levenshtein"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"ruamel-yaml","old_version":"0.18.14","new_version":"0.19.1"},{"name":"ruamel-yaml-clib","old_version":"0.2.12","new_version":"0.2.15"},{"name":"rustworkx","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/Qiskit/rustworkx"},{"name":"s3transfer","old_version":"0.16.0","new_version":"0.19.2","repository_url":"https://github.com/boto/s3transfer"},{"name":"safehttpx","old_version":"0.1.6","new_version":"0.2.0","repository_url":"https://github.com/gradio-app/safehttpx"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"starlette","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"stevedore","old_version":"5.4.1","new_version":"5.9.1"},{"name":"threadpoolctl","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tomlkit","old_version":"0.13.3","new_version":"0.15.1","repository_url":"https://github.com/python-poetry/tomlkit"},{"name":"tornado","old_version":"6.5.9","new_version":"6.5.10","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.70.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"types-requests","old_version":"2.32.4.20260107","new_version":"2.33.0.20261006","repository_url":"https://github.com/python/typeshed"},{"name":"typing-inspection","old_version":"0.4.2","new_version":"0.4.4","repository_url":"https://github.com/pydantic/typing-inspection"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.16.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzlocal","old_version":"5.3.1","new_version":"5.4.4","repository_url":"https://github.com/regebro/tzlocal"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.3.0","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"wcwidth","old_version":"0.5.3","new_version":"0.9.2","repository_url":"https://github.com/jquast/wcwidth"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.2","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"wheel","old_version":"0.46.2","new_version":"0.48.0","repository_url":"https://github.com/pypa/wheel"},{"name":"wsproto","old_version":"1.2.0","new_version":"1.3.2","repository_url":"https://github.com/python-hyper/wsproto"},{"name":"yarl","old_version":"1.20.1","new_version":"1.25.1","repository_url":"https://github.com/aio-libs/yarl"},{"name":"truststore","old_version":"0.10.4","new_version":"0.10.5","repository_url":"https://github.com/sethmlarson/truststore"}],"path":null,"ecosystem":"pip"},"body":"Bumps the patch-and-minor group with 185 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.3` | `0.143.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.54.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.10` | `2.14.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.15.0` | `2.16.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.48` | `2.1.4` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.18.4` | `1.20.0` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.30.0` | `0.32.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.13` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.50` | `3.2.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.0` | `2.15.1` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.11` | `1.9.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.26.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-distro](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-exporter-otlp](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-httpx](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-logging](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-redis](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-sqlalchemy](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-system-metrics](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-instrumentation-celery](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.45.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.61b0` | `0.66b1` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.61b0` | `0.66b1` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.13` | `1.2.15` |\n| [langgraph-checkpoint](https://github.com/langchain-ai/langgraph) | `4.0.1` | `4.3.0` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.3.13` | `0.4.7` |\n| [langchain-community](https://github.com/langchain-ai/langchain-community) | `0.3.5` | `0.4.2` |\n| [langserve](https://github.com/langchain-ai/langserve) | `0.2.1` | `0.3.3` |\n| [celery](https://github.com/celery/celery) | `5.6.2` | `5.6.3` |\n| [billiard](https://github.com/celery/billiard) | `4.2.4` | `4.3.1` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.0.15` | `1.5.9` |\n| [eth-account](https://github.com/ApeWorX/eth-account) | `0.13.0` | `0.14.0` |\n| [eth-keys](https://github.com/ApeWorX/eth-keys) | `0.7.1` | `0.8.0` |\n| [aiohttp](https://github.com/aio-libs/aiohttp) | `3.13.4` | `3.14.5` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.34.2` |\n| [python-socketio](https://github.com/sponsors/miguelgrinberg) | `5.15.0` | `5.17.0` |\n| [python-engineio](https://github.com/miguelgrinberg/python-engineio) | `4.12.2` | `4.14.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.26` | `0.0.32` |\n| [discord-py](https://github.com/Rapptz/discord.py) | `2.5.2` | `2.7.1` |\n| [py-cord](https://github.com/Pycord-Development/pycord) | `2.6.1` | `2.8.1` |\n| [docker](https://github.com/docker/docker-py) | `7.1.0` | `7.2.0` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.5.0` |\n| [typer](https://github.com/fastapi/typer) | `0.16.0` | `0.27.3` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.2` | `1.2.4` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.11.2` | `3.11.3` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.4` | `9.2.1` |\n| [slowapi](https://github.com/laurents/slowapi) | `0.1.9` | `0.1.10` |\n| [colorlog](https://github.com/borntyping/python-colorlog) | `6.9.0` | `6.12.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.15.0` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.0` | `6.1.3` |\n| [feedparser](https://github.com/kurtmckee/feedparser) | `6.0.11` | `6.0.14` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.5.4` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.5` | `3.11.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.1` | `1.18.1` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.7.1` | `1.9.1` |\n| [strawberry-graphql](https://github.com/sponsors/strawberry-graphql) | `0.312.3` | `0.335.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.8` | `3.3.0` |\n| [qiskit](https://github.com/Qiskit/qiskit) | `2.3.1` | `2.5.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.5` | `3.7` |\n| [onnxruntime](https://github.com/microsoft/onnxruntime) | `1.22.1` | `1.31.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [durationpy](https://github.com/icholy/durationpy) | `0.10` | `0.11` |\n| [levenshtein](https://github.com/rapidfuzz/Levenshtein) | `0.27.3` | `0.27.5` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.14.3` | `3.14.6` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.1.1` |\n| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.1.0` | `5.3.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.131.0` | `6.169.1` |\n| [black](https://github.com/psf/black) | `26.3.1` | `26.10.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.9.0` | `0.17.0` |\n| [flake8](https://github.com/pycqa/flake8) | `7.3.0` | `7.4.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.5` | `4.1.3` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.4` |\n| [semgrep](https://github.com/semgrep/semgrep) | `1.92.0` | `1.180.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.8.0` | `2.10.1` |\n| [autogen](https://github.com/ag2ai/ag2classic) | `0.5.0` | `0.14.1` |\n| [fakeredis](https://github.com/cunla/fakeredis-py) | `2.33.0` | `2.40.0` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.8.1` |\n| [accelerate](https://github.com/huggingface/accelerate) | `1.10.0` | `1.15.0` |\n| [bitsandbytes](https://github.com/bitsandbytes-foundation/bitsandbytes) | `0.46.1` | `0.50.2` |\n| [langchain-text-splitters](https://github.com/langchain-ai/langchain) | `1.1.1` | `1.1.3` |\n| [langsmith](https://github.com/langchain-ai/langsmith-python) | `0.7.16` | `0.14.8` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.10.3` |\n| [safetensors](https://github.com/huggingface/safetensors) | `0.5.3` | `0.8.0` |\n| [streamlit](https://github.com/streamlit/streamlit) | `1.54.0` | `1.65.0` |\n| [tokenizers](https://github.com/huggingface/tokenizers) | `0.21.4` | `0.23.3` |\n| [torch](https://github.com/pytorch/pytorch) | `2.8.0` | `2.14.1` |\n| [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs) | `2.6.1` | `2.7.1` |\n| [amqp](https://github.com/celery/py-amqp) | `5.3.1` | `5.4.1` |\n| [annotated-doc](https://github.com/fastapi/annotated-doc) | `0.0.4` | `0.0.5` |\n| [annotated-types](https://github.com/annotated-types/annotated-types) | `0.7.0` | `0.8.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.14.2` | `4.15.1` |\n| [arq](https://github.com/python-arq/arq) | `0.27.0` | `0.28.0` |\n| [asgiref](https://github.com/django/asgiref) | `3.11.1` | `3.12.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.4` | `4.3.4` |\n| [bidict](https://github.com/jab/bidict) | `0.23.1` | `0.24.1` |\n| [boto3](https://github.com/boto/boto3) | `1.42.64` | `1.43.113` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.6.1` |\n| [cffi](https://github.com/python-cffi/cffi) | `2.0.0` | `2.1.1` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.5.2` |\n| [click-repl](https://github.com/click-contrib/click-repl) | `0.3.0` | `0.4.1` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.3` | `1.4.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.16.2` |\n| [decorator](https://github.com/micheles/decorator) | `5.2.1` | `5.3.1` |\n| [dnspython](https://github.com/rthalley/dnspython) | `2.8.0` | `2.9.0` |\n| [docstring-parser](https://github.com/rr-/docstring_parser) | `0.17.0` | `0.18.0` |\n| [fabric](https://github.com/fabric/fabric) | `3.2.2` | `3.2.3` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.1` | `6.0.5` |\n| [flask-socketio](https://code.miguelgrinberg.com/miguelgrinberg/flask-socketio) | `5.5.1` | `5.7.0` |\n| [flatbuffers](https://github.com/google/flatbuffers) | `25.2.10` | `25.12.19` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.2` | `4.67.0` |\n| [frozenlist](https://github.com/aio-libs/frozenlist) | `1.7.0` | `1.8.0` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.6.0` | `2026.9.0` |\n| [geographiclib](https://github.com/geographiclib/geographiclib-python) | `2.0` | `2.1` |\n| [google-auth](https://github.com/googleapis/google-cloud-python) | `2.40.3` | `2.62.0` |\n| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python) | `1.70.0` | `1.75.5` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.2` | `3.5.6` |\n| [grpcio](https://github.com/grpc/grpc) | `1.74.0` | `1.84.0` |\n| [hiredis](https://github.com/redis/hiredis-py) | `3.3.0` | `3.4.2` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.4` | `0.9.0` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.1` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.2` |\n| [jiter](https://github.com/pydantic/jiter) | `0.10.0` | `0.17.0` |\n| [joblib](https://github.com/joblib/joblib) | `1.5.1` | `1.6.0` |\n| [jsonpatch](https://github.com/stefankoegl/python-json-patch) | `1.33` | `1.35` |\n| [jsonpointer](https://github.com/stefankoegl/python-json-pointer) | `3.0.0` | `3.2.1` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.26.0` |\n| [jsonschema-specifications](https://github.com/python-jsonschema/jsonschema-specifications) | `2025.4.1` | `2025.9.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.8` | `1.5.1` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.12` | `1.4.3` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.4` |\n| [mmh3](https://github.com/hajimes/mmh3) | `5.2.0` | `5.3.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.2.1` | `1.2.3` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.0.1` | `2.27.1` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.10.0` | `1.11.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.13.0` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `1.1.0` | `1.1.1` |\n| [ping3](https://github.com/kyan001/ping3) | `5.1.5` | `5.1.6` |\n| [pip-api](https://github.com/di/pip-api) | `0.0.34` | `0.0.35` |\n| [pip-tools](https://github.com/jazzband/pip-tools) | `7.5.3` | `7.6.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.4` | `4.13.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.52` | `3.0.53` |\n| [propcache](https://github.com/aio-libs/propcache) | `0.3.2` | `0.5.4` |\n| [pybase64](https://github.com/mayeut/pybase64) | `1.4.2` | `1.5.1` |\n| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.14.0` | `2.15.0` |\n| [pydeck](https://github.com/visgl/deck.gl) | `0.9.1` | `0.9.3` |\n| [pygithub](https://github.com/pygithub/pygithub) | `2.9.0` | `2.10.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.20.0` | `2.21.0` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.3.3` |\n| [pypika](https://github.com/kayak/pypika) | `0.48.9` | `0.51.1` |\n| [pyproject-hooks](https://github.com/pypa/pyproject-hooks) | `1.2.0` | `1.3.3` |\n| [pyreadline3](https://github.com/pyreadline3/pyreadline3) | `3.5.4` | `3.5.6` |\n| [python-levenshtein](https://github.com/rapidfuzz/python-Levenshtein) | `0.27.3` | `0.27.5` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| ruamel-yaml | `0.18.14` | `0.19.1` |\n| ruamel-yaml-clib | `0.2.12` | `0.2.15` |\n| [rustworkx](https://github.com/Qiskit/rustworkx) | `0.17.1` | `0.18.1` |\n| [s3transfer](https://github.com/boto/s3transfer) | `0.16.0` | `0.19.2` |\n| [safehttpx](https://github.com/gradio-app/safehttpx) | `0.1.6` | `0.2.0` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [starlette](https://github.com/Kludex/starlette) | `1.7.0` | `1.8.0` |\n| [stevedore](https://docs.openstack.org/stevedore) | `5.4.1` | `5.9.1` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.6.0` | `3.7.0` |\n| [tomlkit](https://github.com/python-poetry/tomlkit) | `0.13.3` | `0.15.1` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.9` | `6.5.10` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.70.1` |\n| [types-requests](https://github.com/python/typeshed) | `2.32.4.20260107` | `2.33.0.20261006` |\n| [typing-inspection](https://github.com/pydantic/typing-inspection) | `0.4.2` | `0.4.4` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.16.0` |\n| [tzlocal](https://github.com/regebro/tzlocal) | `5.3.1` | `5.4.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.3.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.5.3` | `0.9.2` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.2` |\n| [wheel](https://github.com/pypa/wheel) | `0.46.2` | `0.48.0` |\n| [wsproto](https://github.com/python-hyper/wsproto) | `1.2.0` | `1.3.2` |\n| [yarl](https://github.com/aio-libs/yarl) | `1.20.1` | `1.25.1` |\n| [truststore](https://github.com/sethmlarson/truststore) | `0.10.4` | `0.10.5` |\n\n\nUpdates `fastapi` from 0.135.3 to 0.143.1\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.143.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix included route metadata in \u003ccode\u003eiter_route_contexts()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16484\"\u003e#16484\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.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\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\u003c!-- 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/4dda4625bdc19ce5ae946c152298f70d4d4fc5ed\"\u003e\u003ccode\u003e4dda462\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.1 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16485\"\u003e#16485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/bf18b23bc75ba25dba7310752a97c1612dcd298e\"\u003e\u003ccode\u003ebf18b23\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5e6a1eec1fbc0acbe0a813e981cfd69539051b52\"\u003e\u003ccode\u003e5e6a1ee\u003c/code\u003e\u003c/a\u003e 🐛 Fix included route metadata in \u003ccode\u003eiter_route_contexts()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16484\"\u003e#16484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.135.3...0.143.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.53.0\u003c/h2\u003e\n\u003ch2\u003e🌐 Opt-in HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.53.0 adds experimental HTTP/2 through \u003ccode\u003ezttp\u003c/code\u003e, alongside a new \u003ccode\u003ezuvloop\u003c/code\u003e integration and connection-handling improvements.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eServe HTTP/1.1 and HTTP/2 with \u003ccode\u003ezttp\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e). Install \u003ccode\u003ezttp\u003c/code\u003e, then enable HTTP/2 with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Uvicorn negotiates HTTP/2 over TLS with ALPN and supports cleartext prior knowledge.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental.\u003c/strong\u003e Upgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ More event loop choice\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRun Uvicorn with \u003ccode\u003ezuvloop\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e). Install \u003ccode\u003ezuvloop\u003c/code\u003e separately and select it explicitly with \u003ccode\u003e--loop zuvloop\u003c/code\u003e on CPython 3.14 or newer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛡️ More reliable connections and proxies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHonor \u003ccode\u003eConnection: close\u003c/code\u003e token lists\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e). Uvicorn now parses comma-separated tokens case-insensitively across HTTP implementations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrust IPv6 loopback proxies by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e). The default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value now includes \u003ccode\u003e::1\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKeep upgraded WebSockets alive\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e). Uvicorn cancels the HTTP keep-alive timer when the connection becomes a WebSocket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.53.0\"\u003e0.52.4...0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.3\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.53.0 (September 14, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e. Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\nUpgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ezuvloop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle comma-separated, case-insensitive \u003ccode\u003eConnection: close\u003c/code\u003e tokens across HTTP implementations (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrust IPv6 loopback in the default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancel the HTTP keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.4 (August 18, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.3 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3067\"\u003e#3067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.2 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3063\"\u003e#3063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.1 (August 1, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eComplete the closing handshake on server-initiated WebSocket closes in the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e and \u003ccode\u003ewsproto\u003c/code\u003e implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing write flow control to the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e implementation, preventing data truncation on server-initiated closes with large in-flight payloads (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3048\"\u003e#3048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle connection loss while a WebSocket write is waiting on backpressure (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3050\"\u003e#3050\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/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/421708fbc1a704dac8bd4053a7c4c0bf4d3704ee\"\u003e\u003ccode\u003e421708f\u003c/code\u003e\u003c/a\u003e Version 0.53.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3136\"\u003e#3136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f1a1bff7be819f5724d6fdf86dfd448a97c62e23\"\u003e\u003ccode\u003ef1a1bff\u003c/code\u003e\u003c/a\u003e Unset the keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/63971ed952090438896e6eba7d07178b616d97cc\"\u003e\u003ccode\u003e63971ed\u003c/code\u003e\u003c/a\u003e Document HTTP/2 support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3130\"\u003e#3130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7d1a0055aee5e281accc646b559ddd147486bf8a\"\u003e\u003ccode\u003e7d1a005\u003c/code\u003e\u003c/a\u003e Remove race from multiprocess health check test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5ac6265a01ff6dcadb0e4250152c3deaf8a168a9\"\u003e\u003ccode\u003e5ac6265\u003c/code\u003e\u003c/a\u003e Add ::1 to FORWARDED_ALLOW_IPS (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.54.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.11.10 to 2.14.1\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.14.1 2026-10-11\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePerformance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid Python tuple allocation during model fields validation 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/13955\"\u003e#13955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid unnecessary extra dict allocation in model validation 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/13956\"\u003e#13956\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003earguments-v3\u003c/code\u003e schema with variadic keywords 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/13954\"\u003e#13954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e on \u003ccode\u003eForwardRef\u003c/code\u003e on Python 3.10.0 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/13964\"\u003e#13964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eclosed\u003c/code\u003e and \u003ccode\u003eextra_items\u003c/code\u003e via inheritance in \u003ccode\u003eTypedDict\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/13967\"\u003e#13967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnforce the \u003ccode\u003emax_digits\u003c/code\u003e whole-digits limit in the Python \u003ccode\u003eDecimal\u003c/code\u003e validator 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/13972\"\u003e#13972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject out-of-range int inputs for \u003ccode\u003etimedelta\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/13973\"\u003e#13973\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport named tuples in \u003ccode\u003eSequence\u003c/code\u003e validation 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/13978\"\u003e#13978\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.14.0...v2.14.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\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/pydantic/pydantic/commit/b2212c787fb5c73386dc770681ec49cd09da8e73\"\u003e\u003ccode\u003eb2212c7\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/968fb2b6eed196a3f17ca9a3aa4697b518614531\"\u003e\u003ccode\u003e968fb2b\u003c/code\u003e\u003c/a\u003e Fix docs conversion table\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/6adc8b3f6146cabf290bdefd51c87486dd659091\"\u003e\u003ccode\u003e6adc8b3\u003c/code\u003e\u003c/a\u003e Support named tuples in \u003ccode\u003eSequence\u003c/code\u003e validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7637fbc31c91f86870c3b34d220d5b7fd62c54db\"\u003e\u003ccode\u003e7637fbc\u003c/code\u003e\u003c/a\u003e Reject out-of-range int inputs for \u003ccode\u003etimedelta\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dfdbfcb5fa6cf0ae291cb8aebc5bf2153670fe9c\"\u003e\u003ccode\u003edfdbfcb\u003c/code\u003e\u003c/a\u003e Enforce the \u003ccode\u003emax_digits\u003c/code\u003e whole-digits limit in the Python \u003ccode\u003eDecimal\u003c/code\u003e validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e2456d3161d0969b917fc769b2e06b7e076cb886\"\u003e\u003ccode\u003ee2456d3\u003c/code\u003e\u003c/a\u003e Support \u003ccode\u003eclosed\u003c/code\u003e and \u003ccode\u003eextra_items\u003c/code\u003e via inheritance in \u003ccode\u003eTypedDict\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/317655dfe022ebfc818c8e8e744b671fe53d8c3f\"\u003e\u003ccode\u003e317655d\u003c/code\u003e\u003c/a\u003e Harden CI security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3ba1dd48939542a04748a9bcfd3248496fa0bcc5\"\u003e\u003ccode\u003e3ba1dd4\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eTypeError\u003c/code\u003e on \u003ccode\u003eForwardRef\u003c/code\u003e on Python 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/43681abc488119808fcdae2f60cadd5520ceed26\"\u003e\u003ccode\u003e43681ab\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003esamuelcolvin/check-python-version\u003c/code\u003e action to v5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d6bc53a8559d93814009eb2043db133a90f7f921\"\u003e\u003ccode\u003ed6bc53a\u003c/code\u003e\u003c/a\u003e Avoid unnecessary extra dict allocation in model validation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.10...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.15.0 to 2.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.16.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003eBreaking changes and behavior changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.10 is no longer supported\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1003\"\u003e#1003\u003c/a\u003e). pydantic-settings now requires Python 3.11+, since 3.10 reaches end of life this month. The \u003ccode\u003etomli\u003c/code\u003e fallback is gone in favor of stdlib \u003ccode\u003etomllib\u003c/code\u003e; the \u003ccode\u003etoml\u003c/code\u003e extra is kept as an empty extra so \u003ccode\u003epip install pydantic-settings[toml]\u003c/code\u003e keeps working.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epython-dotenv\u0026gt;=1.2.2\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/971\"\u003e#971\u003c/a\u003e) to pick up the fix for CVE-2026-28684.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAliases are ignored in every source when \u003ccode\u003evalidate_by_alias=False\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1033\"\u003e#1033\u003c/a\u003e). Env vars, secrets, CLI flags and defaults now use only field names, matching pydantic. An env var named after the alias is now ignored instead of raising \u003ccode\u003eextra_forbidden\u003c/code\u003e, and the CLI exposes \u003ccode\u003e--apple\u003c/code\u003e rather than \u003ccode\u003e--pomo\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003evalidation_alias\u003c/code\u003e takes precedence over \u003ccode\u003ealias\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1038\"\u003e#1038\u003c/a\u003e). When the two differ, values from JSON/YAML/TOML files and the CLI were silently ignored; they now load. CLI help lists the \u003ccode\u003evalidation_alias\u003c/code\u003e flag first, and \u003ccode\u003eCliApp.serialize\u003c/code\u003e emits it.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCLI case-insensitivity only lowercases registered options\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1036\"\u003e#1036\u003c/a\u003e). With \u003ccode\u003ecase_sensitive=False\u003c/code\u003e, args after \u003ccode\u003e--\u003c/code\u003e and those captured by \u003ccode\u003eCliUnknownArgs\u003c/code\u003e keep their case (\u003ccode\u003e-Xmx4G\u003c/code\u003e no longer becomes \u003ccode\u003e-xmx4g\u003c/code\u003e). Unrecognized options are now reported as typed (\u003ccode\u003e--NOPE\u003c/code\u003e instead of \u003ccode\u003e--nope\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON and YAML config files are read as UTF-8 by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/955\"\u003e#955\u003c/a\u003e) instead of the locale encoding, completing the secrets-file fix from 2.15.0. \u003ccode\u003ejson_file_encoding\u003c/code\u003e/\u003ccode\u003eyaml_file_encoding\u003c/code\u003e still override it.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDiscriminated union defaults are partially updated again\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/997\"\u003e#997\u003c/a\u003e). This reverts the 2.15.0 regression with \u003ccode\u003enested_model_default_partial_update=True\u003c/code\u003e: the default is only dropped when the incoming value selects a \u003cem\u003edifferent\u003c/em\u003e union member.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython 3.15 and pydantic 2.14 support\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1026\"\u003e#1026\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1029\"\u003e#1029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1022\"\u003e#1022\u003c/a\u003e). pydantic 2.14 broke \u003ccode\u003eCliApp.run\u003c/code\u003e and \u003ccode\u003evalidate_by_alias=False\u003c/code\u003e handling; both are fixed.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCached settings instances\u003c/strong\u003e via \u003ccode\u003eSettings.settings_cached()\u003c/code\u003e and \u003ccode\u003eSettings.settings_clear_cache()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/952\"\u003e#952\u003c/a\u003e). These give you a process-local singleton per settings class without hand-rolling \u003ccode\u003elru_cache\u003c/code\u003e wrappers. Calling the class directly still builds a fresh instance.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAWS Systems Manager Parameter Store source\u003c/strong\u003e — \u003ccode\u003eAWSSystemsManagerSettingsSource\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/941\"\u003e#941\u003c/a\u003e). It recursively reads every parameter under an \u003ccode\u003essm_path\u003c/code\u003e, with \u003ccode\u003e/\u003c/code\u003e mapping onto nested models. Install it with the new \u003ccode\u003eaws-systems-manager\u003c/code\u003e extra.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eenv_file_depth\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/940\"\u003e#940\u003c/a\u003e) lets a relative \u003ccode\u003eenv_file\u003c/code\u003e be found in parent directories, mirroring \u003ccode\u003epyproject_toml_depth\u003c/code\u003e. This is useful when scripts run from a subdirectory of a monorepo. It defaults to \u003ccode\u003e0\u003c/code\u003e, which keeps the current behavior.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eCliVariadicArg\u003c/code\u003e for named variadic options\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/949\"\u003e#949\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/958\"\u003e#958\u003c/a\u003e). It accepts \u003ccode\u003e--param a b c\u003c/code\u003e in addition to repeated \u003ccode\u003e--param a --param b\u003c/code\u003e. Required fields need at least one value.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eCLI\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCliApp.serialize\u003c/code\u003e output now round-trips through \u003ccode\u003eCliApp.run\u003c/code\u003e for enums, tuples, dates and \u003ccode\u003eDecimal\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/988\"\u003e#988\u003c/a\u003e), explicit \u003ccode\u003eNone\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/981\"\u003e#981\u003c/a\u003e), empty containers (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1008\"\u003e#1008\u003c/a\u003e), \u003ccode\u003eCliVariadicArg\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/976\"\u003e#976\u003c/a\u003e) and populated \u003ccode\u003eCliUnknownArgs\u003c/code\u003e fields, which previously raised \u003ccode\u003eIndexError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/992\"\u003e#992\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEmpty JSON arrays (\u003ccode\u003e--items []\u003c/code\u003e) now give an empty list instead of \u003ccode\u003e['']\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/994\"\u003e#994\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTuples, \u003ccode\u003efrozenset\u003c/code\u003e, \u003ccode\u003eMutableSequence\u003c/code\u003e and other collection subtypes are now treated as repeatable/variadic options (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/972\"\u003e#972\u003c/a\u003e), and so are named collection type aliases such as \u003ccode\u003eTypeAliasType('Addrs', list[IPvAnyAddress])\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1032\"\u003e#1032\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecli_exit_on_error=False\u003c/code\u003e is now honored in \u003ccode\u003eCliSubCommand\u003c/code\u003e parsers, which raise \u003ccode\u003eSettingsError\u003c/code\u003e instead of exiting (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/977\"\u003e#977\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliSubCommand\u003c/code\u003e aliases keep their case with \u003ccode\u003ecase_sensitive=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/989\"\u003e#989\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEach \u003ccode\u003eCliUnknownArgs\u003c/code\u003e field now receives only its own subcommand's leftover args (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1004\"\u003e#1004\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliApp.format_help\u003c/code\u003e no longer crashes when \u003ccode\u003ecli_prefix\u003c/code\u003e is set in \u003ccode\u003emodel_config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/945\"\u003e#945\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eType aliases and parsing\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNamed union type aliases (\u003ccode\u003eTypeAliasType('V', list[int] | str)\u003c/code\u003e) now decode like their inline equivalents in env and dotenv sources, including under \u003ccode\u003eOptional\u003c/code\u003e, \u003ccode\u003eAnnotated\u003c/code\u003e and custom validation aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1006\"\u003e#1006\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1030\"\u003e#1030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1041\"\u003e#1041\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eResolving a named \u003ccode\u003eAnnotated\u003c/code\u003e type alias no longer mutates shared \u003ccode\u003eFieldInfo\u003c/code\u003e metadata, which made validators run twice on subclasses or after \u003ccode\u003emodel_rebuild()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/979\"\u003e#979\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA bare single-segment \u003ccode\u003eAliasPath('SOME_KEY')\u003c/code\u003e no longer tries to JSON-decode plain string values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/980\"\u003e#980\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecollections.abc.Set\u003c/code\u003e/\u003ccode\u003eMutableSet\u003c/code\u003e/\u003ccode\u003etyping.AbstractSet\u003c/code\u003e fields now JSON-decode env values (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/973\"\u003e#973\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA bare \u003ccode\u003etyping.Dict\u003c/code\u003e field with \u003ccode\u003eenv_nested_delimiter\u003c/code\u003e no longer raises \u003ccode\u003eIndexError\u003c/code\u003e, which was a regression in 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1009\"\u003e#1009\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCase-insensitive matching now works for nested pydantic dataclasses (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1010\"\u003e#1010\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDotenv, secrets and config files\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWith \u003ccode\u003eextra='allow'\u003c/code\u003e, a non-lowercase \u003ccode\u003eenv_prefix\u003c/code\u003e is now stripped from dotenv extras (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/959\"\u003e#959\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/968\"\u003e#968\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esecrets_case_sensitive=True\u003c/code\u003e is now honored on Windows (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1001\"\u003e#1001\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn empty JSON config file is treated as an empty mapping instead of crashing (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/947\"\u003e#947\u003c/a\u003e), matching YAML and TOML.\u003c/li\u003e\n\u003cli\u003eTOML table headers: \u003ccode\u003e~\u003c/code\u003e paths are now expanded when checking that the file exists (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1034\"\u003e#1034\u003c/a\u003e), and an explicit \u003ccode\u003etoml_table_header=()\u003c/code\u003e now overrides the model config to read the file root (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1027\"\u003e#1027\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCloud sources\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAzure Key Vault and GCP Secret Manager now honor \u003ccode\u003eenv_parse_none_str\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1019\"\u003e#1019\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1040\"\u003e#1040\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAzure Key Vault: \u003ccode\u003edash_to_underscore=True\u003c/code\u003e now works for nested model fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/1025\"\u003e#1025\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eNestedSecretsSettingsSource\u003c/code\u003e now validates its specific constructor arguments (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/975\"\u003e#975\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/pydantic/pydantic-settings/commit/8c259f41b49b4cefbe4fb676d3c1f52dddd3cca8\"\u003e\u003ccode\u003e8c259f4\u003c/code\u003e\u003c/a\u003e Prepare release 2.16.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1043\"\u003e#1043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4bc667ada383aca4df00304cd171f327a9fae163\"\u003e\u003ccode\u003e4bc667a\u003c/code\u003e\u003c/a\u003e Keep case of non-option CLI args when case_sensitive=False (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/f75a8057a5fafe4aef3a042c2adf367c6987f73f\"\u003e\u003ccode\u003ef75a805\u003c/code\u003e\u003c/a\u003e Simplify alias resolution branch and test alias with AliasChoices/AliasPath (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/cfdc5585e821e84905905027de68a0188213537a\"\u003e\u003ccode\u003ecfdc558\u003c/code\u003e\u003c/a\u003e Honor env_parse_none_str for GCP Secret Manager (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1040\"\u003e#1040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/081d39f9c73f46e68bc2bef75a23f7d84ed0c377\"\u003e\u003ccode\u003e081d39f\u003c/code\u003e\u003c/a\u003e Fix config file and CLI values being ignored when alias differs from validati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/c46ebc4cc599c09f3692f4d2e82a8f0bb5433f3a\"\u003e\u003ccode\u003ec46ebc4\u003c/code\u003e\u003c/a\u003e Expand home paths when checking TOML table headers (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1034\"\u003e#1034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6ea85e68532ed4365d7e43509369f41b5820ac74\"\u003e\u003ccode\u003e6ea85e6\u003c/code\u003e\u003c/a\u003e Decode optional Annotated named union aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1041\"\u003e#1041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ca9d7c4d7440ca35edff91a0e947f96e6381d890\"\u003e\u003ccode\u003eca9d7c4\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for optional named union aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/b6ddda2c8db5d8b0c13af7bafab8502ed7ea072c\"\u003e\u003ccode\u003eb6ddda2\u003c/code\u003e\u003c/a\u003e Fix CLI parsing for named collection type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1032\"\u003e#1032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bedb60e2cc253be2ae11003a51108c535a58757c\"\u003e\u003ccode\u003ebedb60e\u003c/code\u003e\u003c/a\u003e Honor explicit empty TOML table header overrides (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.15.0...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.48 to 2.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.1.4\u003c/h1\u003e\n\u003cp\u003eReleased: October 7, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug] [regression]\u003c/strong\u003e Fixed regression caused by \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13333\"\u003e#13333\u003c/a\u003e where assigning a\n\u003ccode\u003eMetaData\u003c/code\u003e object to the \u003ccode\u003emetadata\u003c/code\u003e attribute of a mapped\nDeclarative class, in order to place that class's \u003ccode\u003eTable\u003c/code\u003e in a\n\u003ccode\u003eMetaData\u003c/code\u003e collection other than that of the\n\u003ccode\u003e_orm.registry\u003c/code\u003e, would emit a warning that the attribute name\n\u003ccode\u003emetadata\u003c/code\u003e should be left reserved.  The warning is now emitted only\nwhen the \u003ccode\u003emetadata\u003c/code\u003e attribute is assigned to an object other than a\n\u003ccode\u003eMetaData\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13659\"\u003e#13659\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug] [regression]\u003c/strong\u003e Fixed regression from the 1.4 series where the DBAPI cursor used for a\ncompiled statement that returns no rows, which includes DDL constructs\nsuch as \u003ccode\u003eCreateTable\u003c/code\u003e and \u003ccode\u003eDropTable\u003c/code\u003e as well as the\nSAVEPOINT, ROLLBACK TO SAVEPOINT and RELEASE SAVEPOINT statements emitted\nby \u003ccode\u003e_engine.Connection.begin_nested()\u003c/code\u003e, was not closed after\nexecution, and was instead left to be released when garbage collected.\nThe cursor is now closed immediately, as was the case in 1.3 and as is\nalready the case for INSERT, UPDATE, DELETE and \u003ccode\u003e_sql.text()\u003c/code\u003e\nstatements.\u003c/p\u003e\n\u003cp\u003eThis change is also \u003cstrong\u003ebackported\u003c/strong\u003e to: 2.0.55\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13640\"\u003e#13640\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Fixed issue in the\n\u003ccode\u003e_engine.Connection.execution_options.logging_token\u003c/code\u003e option\nwhere setting the value to \u003ccode\u003eNone\u003c/code\u003e or another false value would raise\n\u003ccode\u003eAttributeError\u003c/code\u003e if a logging token had not already been established on\nthat \u003ccode\u003e_engine.Connection\u003c/code\u003e, such as on a newly checked out\nconnection, when the option was set at the \u003ccode\u003e_engine.Engine\u003c/code\u003e level,\nor when the token was reset to \u003ccode\u003eNone\u003c/code\u003e more than once.  Regression\nintroduced in 2.0.30 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11210\"\u003e#11210\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis change is also \u003cstrong\u003ebackported\u003c/strong\u003e to: 2.0.55\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13641\"\u003e#13641\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug] [regression]\u003c/strong\u003e Fixed regression where iterating a \u003ccode\u003eResult\u003c/code\u003e directly would create\nreference cycles that prevented the \u003ccode\u003eResult\u003c/code\u003e along with the DBAPI\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.18.4 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.20.0\u003c/h1\u003e\n\u003cp\u003eReleased: September 11, 2026\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [batch]\u003c/strong\u003e Added a warning for the case where an unnamed CHECK constraint on a\nreflected table is omitted from a batch \u0026qu...\n\n_Description has been truncated_","html_url":"https://github.com/welshDog/HyperCode-V2.4/pull/621","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/welshDog%2FHyperCode-V2.4/issues/621","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/621/packages"}},{"old_version":"6.168.0","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-16T10:36:48.000Z","version_change":"6.168.0 → 6.168.5","issue":{"uuid":"5882671784","node_id":"PR_kwDOSWKloM8AAAABI0to5A","number":125,"state":"open","title":"chore(deps): bump the pip-minor-patch group across 1 directory with 23 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-10-16T10:36:48.000Z","updated_at":"2026-10-16T10:38:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip-minor-patch","update_count":23,"packages":[{"name":"ruff","old_version":"0.16.4","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ast-serialize","old_version":"0.11.2","new_version":"0.13.0","repository_url":"https://github.com/mypyc/ast_serialize"},{"name":"cachetools","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/tkem/cachetools"},{"name":"coverage","old_version":"7.16.1","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"fonttools","old_version":"4.64.0","new_version":"4.65.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"identify","old_version":"2.6.19","new_version":"2.6.20","repository_url":"https://github.com/pre-commit/identify"},{"name":"iniconfig","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"librt","old_version":"0.15.0","new_version":"0.16.0","repository_url":"https://github.com/mypyc/librt"},{"name":"matplotlib","old_version":"3.10.0","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"},{"name":"nodeenv","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"numpy","old_version":"2.1.3","new_version":"2.2.6","repository_url":"https://github.com/numpy/numpy"},{"name":"platformdirs","old_version":"4.11.7","new_version":"4.12.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyparsing","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyproject-api","old_version":"1.11.2","new_version":"1.11.4","repository_url":"https://github.com/tox-dev/pyproject-api"},{"name":"python-discovery","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"threadpoolctl","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"tomli","old_version":"2.4.1","new_version":"2.5.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"tox","old_version":"4.63.0","new_version":"4.65.0","repository_url":"https://github.com/tox-dev/tox"},{"name":"tzdata","old_version":"2026.3","new_version":"2026.5","repository_url":"https://github.com/python/tzdata"},{"name":"virtualenv","old_version":"21.9.1","new_version":"21.14.7","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-minor-patch group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.4` | `0.17.0` |\n| [ast-serialize](https://github.com/mypyc/ast_serialize) | `0.11.2` | `0.13.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `7.2.0` | `7.2.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.16.1` | `7.16.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.64.0` | `4.65.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.19` | `2.6.20` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.3.0` | `2.3.1` |\n| [librt](https://github.com/mypyc/librt) | `0.15.0` | `0.16.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.0` | `3.10.9` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.10.0` | `1.11.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.2.6` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.11.7` | `4.12.4` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.2` | `3.3.3` |\n| [pyproject-api](https://github.com/tox-dev/pyproject-api) | `1.11.2` | `1.11.4` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.6.1` | `1.6.2` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.6.0` | `3.7.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.4.1` | `2.5.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.63.0` | `4.65.0` |\n| [tzdata](https://github.com/python/tzdata) | `2026.3` | `2026.5` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.9.1` | `21.14.7` |\n\n\nUpdates `ruff` from 0.16.4 to 0.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through \u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or \u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15 instead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules (\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default, while \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and includes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e now recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ccode\u003efull\u003c/code\u003e output format now shows unsafe fixes and suggestions requiring manual review, regardless of the \u003ca href=\"https://docs.astral.sh/ruff/settings/#unsafe-fixes\"\u003e\u003ccode\u003eunsafe-fixes\u003c/code\u003e\u003c/a\u003e setting. Actually applying unsafe fixes still requires explicit opt-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the Python dependency from conda-forge builds (\u003ca href=\"https://redirect.github.com/conda-forge/ruff-feedstock/pull/361\"\u003econda-forge/ruff-feedstock#361\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe conda-forge build no longer depends on Python, now supports linux-riscv64, win-arm64, and linux-ppc64le platforms, and now includes shell completions. However, no longer depending on Python means that \u003ccode\u003epython -m ruff\u003c/code\u003e and \u003ccode\u003eimport ruff\u003c/code\u003e will no longer work. Use \u003ccode\u003eruff\u003c/code\u003e directly from \u003ccode\u003ePATH\u003c/code\u003e instead. PyPI installations and those from the standalone installer are unaffected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for ruff-lsp (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28750\"\u003e#28750\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSupport for \u003ccode\u003eruff-lsp\u003c/code\u003e, the legacy Python language server \u003ca href=\"https://github.com/astral-sh/ruff/releases/tag/0.9.5\"\u003edeprecated in Ruff v0.9.5\u003c/a\u003e, has been removed. The Ruff VS Code extension now always uses the native language server; \u003ccode\u003eruff.nativeServer\u003c/code\u003e is deprecated and ignored. See the \u003ca href=\"https://docs.astral.sh/ruff/editors/migration/\"\u003emigration guide\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-mismatch\"\u003e\u003ccode\u003elazy-import-mismatch\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID254\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved\"\u003e\u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID255\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-path-commonprefix\"\u003e\u003ccode\u003eos-path-commonprefix\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF071\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed.\nmacOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows\nexecutables have timestamped Authenticode signatures from Azure Artifact Signing. This enables\nverification of the release publisher and binary integrity, supports publisher-based allowlisting,\nand should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through\n\u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or\n\u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When\nchecking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15\ninstead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules\n(\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and\n\u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default,\nwhile \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and\nincludes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e\nnow recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5b27c1ccfaa230fb195855f5cf3404a21e3379cd\"\u003e\u003ccode\u003e5b27c1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.17.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29259\"\u003e#29259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8f362bf4cb5dbad095ac416602496705d41fc843\"\u003e\u003ccode\u003e8f362bf\u003c/code\u003e\u003c/a\u003e Integrate vendored Unicode names into Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/88a50d695c1142294bb4c780fad47d3306173885\"\u003e\u003ccode\u003e88a50d6\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode loose matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/276832aa91f2086a6ec880884fcdd987991cddf2\"\u003e\u003ccode\u003e276832a\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode alias normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/26911caa2800758779965510d2f222b438abbb38\"\u003e\u003ccode\u003e26911ca\u003c/code\u003e\u003c/a\u003e Vendor unicode_names2 from upstream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27e3797508d1a7ad69e4900d51e38d78785aaf73\"\u003e\u003ccode\u003e27e3797\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eruff\u003c/code\u003e] Stabilize \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28764\"\u003e#28764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bbb52c1267cf39aba67e54c2b5800878d23073a9\"\u003e\u003ccode\u003ebbb52c1\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e (`TID255...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5aa9cbd3a49d32b24ac21fa7797ca87a330792a2\"\u003e\u003ccode\u003e5aa9cbd\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-mismatch\u003c/code\u003e (\u003ccode\u003eTID254\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28760\"\u003e#28760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/dba1bc893aedfeea2064c4e8e764135f0d44dc3f\"\u003e\u003ccode\u003edba1bc8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (`...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef23c9c39eb3029bab0139c3ea7ae6d95c4131e0\"\u003e\u003ccode\u003eef23c9c\u003c/code\u003e\u003c/a\u003e Update default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28792\"\u003e#28792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.4...0.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ast-serialize` from 0.11.2 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/42628bd687c583025775f4c404235f73d43ca875\"\u003e\u003ccode\u003e42628bd\u003c/code\u003e\u003c/a\u003e Bump version to 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/67659a0bd5f46d6a91e4db907b06a71fdb659e76\"\u003e\u003ccode\u003e67659a0\u003c/code\u003e\u003c/a\u003e Straighten type comment parsing (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/95\"\u003e#95\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/8d0a5c6d1c87e29aa37c7292149086b514ccac93\"\u003e\u003ccode\u003e8d0a5c6\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/a7f11b17731c0c3b9afc683e977e3faf90ba6c19\"\u003e\u003ccode\u003ea7f11b1\u003c/code\u003e\u003c/a\u003e Fix parsing plain None type in a string (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/bcf707f0d2c59a8033d2d8734849b2233f36f70d\"\u003e\u003ccode\u003ebcf707f\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/89b6e832250fbc4d80739b318237f9571d6c32cc\"\u003e\u003ccode\u003e89b6e83\u003c/code\u003e\u003c/a\u003e Allow colon in error codes (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/94\"\u003e#94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mypyc/ast_serialize/compare/v0.11.2...v0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachetools` from 7.2.0 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst\"\u003ecachetools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev7.2.1 (2026-10-05)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImprove error handling for \u003ccode\u003eRRCache.popitem()\u003c/code\u003e when the cache is\nempty.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMinor style and documentation improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate CI environment.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/9976f1a8076631560f49c5b0dfda7e4d00ee0a4a\"\u003e\u003ccode\u003e9976f1a\u003c/code\u003e\u003c/a\u003e Release v7.2.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/ffe21c44d3f7de9c7a89870c8cf1fd7aa583a2ae\"\u003e\u003ccode\u003effe21c4\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/430\"\u003e#430\u003c/a\u003e: Honor falsey getsizeof callables (\u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/431\"\u003e#431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/110fe5d03e7b4b8f5c5ec97533c94254cdf8733f\"\u003e\u003ccode\u003e110fe5d\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/11153c947675edae9da06a5295bfa4a54b8a4f53\"\u003e\u003ccode\u003e11153c9\u003c/code\u003e\u003c/a\u003e Prefer pyright file-level comments over relaxing rules globally.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/bcf9e8176ebe16da58751fce971c98ffe045ede1\"\u003e\u003ccode\u003ebcf9e81\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/423\"\u003e#423\u003c/a\u003e: Detect an empty RRCache before calling choice.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/eadb91cc9d54a57d6738386bc5c575ff3c7d22ec\"\u003e\u003ccode\u003eeadb91c\u003c/code\u003e\u003c/a\u003e docs: clarify that unbounded TTL caches still expire entries\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tkem/cachetools/compare/v7.2.0...v7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.16.1 to 7.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/releases\"\u003ecoverage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.16.2\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a function return could mistakenly report an uncovered branch. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003eissue 2168\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is a \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the \u003ccode\u003ewith\u003c/code\u003e raised. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003eissue 2289\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own. Now they are, on Python 3.11 and later. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003eissue 1923\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.2\"\u003ecoverage 7.16.2\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.2\u003c/code\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/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a\nfunction return could mistakenly report an uncovered branch. This is now\nfixed, closing \u003ccode\u003eissue 2168\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is\na \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the\n\u003ccode\u003ewith\u003c/code\u003e raised.  This is now fixed, closing \u003ccode\u003eissue 2289\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as\n\u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own.\nNow they are, on Python 3.11 and later.  Closes \u003ccode\u003eissue 1923\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1923: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003ecoveragepy/coveragepy#1923\u003c/a\u003e\n.. _issue 2168: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003ecoveragepy/coveragepy#2168\u003c/a\u003e\n.. _issue 2289: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003ecoveragepy/coveragepy#2289\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-16-1:\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/coveragepy/coveragepy/commit/5643ae7c682bbd56ee1ac2b11556145ab8c2cab0\"\u003e\u003ccode\u003e5643ae7\u003c/code\u003e\u003c/a\u003e docs: prep for 7.16.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a3e969fc6ce8273538702a2336d8c2674f8017d8\"\u003e\u003ccode\u003ea3e969f\u003c/code\u003e\u003c/a\u003e fix: dynamic_context for \u003ca href=\"https://github.com/staticmethod\"\u003e\u003ccode\u003e@​staticmethod\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/classmethod\"\u003e\u003ccode\u003e@​classmethod\u003c/code\u003e\u003c/a\u003e tests (issue 1923) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ad72362f03e59643865d15ffadd002529a777a9\"\u003e\u003ccode\u003e8ad7236\u003c/code\u003e\u003c/a\u003e fix: stop counting the try/else line when a with statement raises (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2301\"\u003e#2301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c6dab1fc387d161fe5938ce9421a7a38ca81ae7f\"\u003e\u003ccode\u003ec6dab1f\u003c/code\u003e\u003c/a\u003e fix(debug): debug output doesn't mis-handle odd line separators \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2296\"\u003e#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/08fbc3229adc8e7681a0d9134d3d5beb1684ae54\"\u003e\u003ccode\u003e08fbc32\u003c/code\u003e\u003c/a\u003e style: Protocols should use \u003ccode\u003e...\u003c/code\u003e for method bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/bc7b0e386388148687241cadcab56ac3e17aea9c\"\u003e\u003ccode\u003ebc7b0e3\u003c/code\u003e\u003c/a\u003e refactor: positional-only args are better than pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/52afd6be360c3b949d69ff83aca873c119a7959a\"\u003e\u003ccode\u003e52afd6b\u003c/code\u003e\u003c/a\u003e Document parallel tox coverage data files (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2284\"\u003e#2284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f653aaec4c58f89375716389e4ca17dd056d2069\"\u003e\u003ccode\u003ef653aae\u003c/code\u003e\u003c/a\u003e fix: loop completion arcs on Python 3.14 (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cc1ced4d4c8ef7674a824002aa5157d1f37acd78\"\u003e\u003ccode\u003ecc1ced4\u003c/code\u003e\u003c/a\u003e test: PyPy still compiles comprehensions as functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/85a9088395e89840cb11c1c86735ba1f7a62d50d\"\u003e\u003ccode\u003e85a9088\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.16.1...7.16.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.64.0 to 4.65.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.65.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[glyf] Add \u003ccode\u003e__iter__\u003c/code\u003e, \u003ccode\u003eitems\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods to the \u003ccode\u003eglyf\u003c/code\u003e table to make it more dict-like (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Escape the anonymous block tag when scanning for its terminator, so tags containing regex metacharacters are matched literally (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4167\"\u003e#4167\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Strip directory components from \u003ccode\u003e\u0026lt;variable-font name=\u0026quot;...\u0026quot;/\u0026gt;\u003c/code\u003e when deriving the output filename in the \u003ccode\u003evarLib\u003c/code\u003e command line, so a designspace cannot write outside the output directory (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4168\"\u003e#4168\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix tracking of the current script and language across redundant \u003ccode\u003escript\u003c/code\u003e statements. Rules following a \u003ccode\u003escript\u003c/code\u003e statement that names the first declared language system no longer end up under the \u003ccode\u003eDFLT\u003c/code\u003e script, and a \u003ccode\u003escript\u003c/code\u003e statement naming the already-current script still narrows the language systems and terminates the current lookup while leaving the \u003ccode\u003elookupflag\u003c/code\u003e alone, matching makeotf (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1824\"\u003e#1824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/2522\"\u003e#2522\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4169\"\u003e#4169\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Escape glyph names in the HTML report (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4172\"\u003e#4172\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[otlLib] Fix overflow handling when building contextual lookups: offset overflows now raise \u003ccode\u003eOTLOffsetOverflowError\u003c/code\u003e instead of \u003ccode\u003eAttributeError\u003c/code\u003e so another contextual format can be tried (regression from \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3439\"\u003e#3439\u003c/a\u003e). When all formats overflow, split the ruleset in halves until it fits (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4171\"\u003e#4171\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/fonttools/fonttools/blob/main/NEWS.rst\"\u003efonttools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.65.0 (released 2026-09-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[glyf] Add \u003ccode\u003e__iter__\u003c/code\u003e, \u003ccode\u003eitems\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods to the \u003ccode\u003eglyf\u003c/code\u003e table\nto make it more dict-like (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Escape the anonymous block tag when scanning for its terminator, so tags\ncontaining regex metacharacters are matched literally (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4167\"\u003e#4167\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Strip directory components from \u003ccode\u003e\u0026lt;variable-font name=\u0026quot;...\u0026quot;/\u0026gt;\u003c/code\u003e when\nderiving the output filename in the \u003ccode\u003evarLib\u003c/code\u003e command line, so a designspace\ncannot write outside the output directory (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4168\"\u003e#4168\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix tracking of the current script and language across redundant\n\u003ccode\u003escript\u003c/code\u003e statements. Rules following a \u003ccode\u003escript\u003c/code\u003e statement that names the\nfirst declared language system no longer end up under the \u003ccode\u003eDFLT\u003c/code\u003e script, and\na \u003ccode\u003escript\u003c/code\u003e statement naming the already-current script still narrows the\nlanguage systems and terminates the current lookup while leaving the\n\u003ccode\u003elookupflag\u003c/code\u003e alone, matching makeotf (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1824\"\u003e#1824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/2522\"\u003e#2522\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4169\"\u003e#4169\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Escape glyph names in the HTML report (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4172\"\u003e#4172\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[otlLib] Fix overflow handling when building contextual lookups: offset overflows\nnow raise \u003ccode\u003eOTLOffsetOverflowError\u003c/code\u003e instead of \u003ccode\u003eAttributeError\u003c/code\u003e so another\ncontextual format can be tried (regression from \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3439\"\u003e#3439\u003c/a\u003e). When all formats\noverflow, split the ruleset in halves until it fits (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4171\"\u003e#4171\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/fonttools/fonttools/commit/656f89dbf2026a7225aafba4fa11218210a765f5\"\u003e\u003ccode\u003e656f89d\u003c/code\u003e\u003c/a\u003e Release 4.65.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/16439502571fa73669743960aeab082a1d1d965d\"\u003e\u003ccode\u003e1643950\u003c/code\u003e\u003c/a\u003e Update NEWS.rst [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/fd0f083404d89ca61b9a8ce030b5b3006b709734\"\u003e\u003ccode\u003efd0f083\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4177\"\u003e#4177\u003c/a\u003e from fonttools/sbix-to-otsvg-snippet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/9c625d410065e5006502bee9d4c734b2bf8c5c54\"\u003e\u003ccode\u003e9c625d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4171\"\u003e#4171\u003c/a\u003e from fonttools/fix-contextual-size-overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/5f04c3853b5d20185f4913f63a863d1b1a652cc3\"\u003e\u003ccode\u003e5f04c38\u003c/code\u003e\u003c/a\u003e Add sbix to OT-SVG conversion snippet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/48a0cf93bbca4983455d2d31e85de42377b83bd2\"\u003e\u003ccode\u003e48a0cf9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4172\"\u003e#4172\u003c/a\u003e from insaf021/interpolatable-html-escape\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/d30db24fc883f27c3ea5e0560c52dfe501a38918\"\u003e\u003ccode\u003ed30db24\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4169\"\u003e#4169\u003c/a\u003e from cmyr/fealib-script-tracking-afdko\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/ac342d76483071017dfc56cb02be4d18f5f6460d\"\u003e\u003ccode\u003eac342d7\u003c/code\u003e\u003c/a\u003e [varLib.interpolatable] escape glyph name in HTML report\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/2a93de2209317546d4016ea09b229e0417f59eb8\"\u003e\u003ccode\u003e2a93de2\u003c/code\u003e\u003c/a\u003e Split contextual rulesets when all formats overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fonttools/fonttools/commit/e6bb5fe394b418b17f27ac22b96da2d39fb4a472\"\u003e\u003ccode\u003ee6bb5fe\u003c/code\u003e\u003c/a\u003e Fix overflow reporting when sizing contextual lookups\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fonttools/fonttools/compare/4.64.0...4.65.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.0 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `identify` from 2.6.19 to 2.6.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/aa34031fb31db554aa02e61dc703604a19cba0a0\"\u003e\u003ccode\u003eaa34031\u003c/code\u003e\u003c/a\u003e v2.6.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/116099f59f9e603de9385b9f7f36a38f47f2cb36\"\u003e\u003ccode\u003e116099f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/609\"\u003e#609\u003c/a\u003e from Malix-Labs/feat/add-nushell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/971546cb3e5102681e143602c3b513e8153ddc65\"\u003e\u003ccode\u003e971546c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/610\"\u003e#610\u003c/a\u003e from pre-commit/lock-file-tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/da45cb15e5c40e03253066cbfc6259cc2ef17520\"\u003e\u003ccode\u003eda45cb1\u003c/code\u003e\u003c/a\u003e Add support for 'nu' extension and Nushell interpreters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a35b99bcf29f016f574f52c39d1c83533fa37d5d\"\u003e\u003ccode\u003ea35b99b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/608\"\u003e#608\u003c/a\u003e from steovd/profile-sh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/bd5cdb7c18f5cb74adba9619fe9bd06747e8a8a7\"\u003e\u003ccode\u003ebd5cdb7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/601\"\u003e#601\u003c/a\u003e from ngie-eign/issue-258\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/66faf04d79b064020901da66a648239039efcb2b\"\u003e\u003ccode\u003e66faf04\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/597\"\u003e#597\u003c/a\u003e from edgarrmondragon/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c75a0a21564ed6e1721394255af3ddd4f40bbd06\"\u003e\u003ccode\u003ec75a0a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/593\"\u003e#593\u003c/a\u003e from NinjaMandalorian/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/ea6c9f914a6d7507777ca54ba86b9af52ae6f026\"\u003e\u003ccode\u003eea6c9f9\u003c/code\u003e\u003c/a\u003e Add support for 'luau' file extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/d28c5712db75b16bd715b7c7b545e3eb5f6f2a35\"\u003e\u003ccode\u003ed28c571\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/585\"\u003e#585\u003c/a\u003e from Kvan7/patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/identify/compare/v2.6.19...v2.6.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `iniconfig` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/releases\"\u003einiconfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParsing values with many continuation lines is now linear instead of quadratic in time (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA leading UTF-8 BOM is now stripped when reading INI files. Files saved by Windows editors used to fail with \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInternal\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines. This is private API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe README example now uses \u003ccode\u003eIniConfig.parse()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e, thanks \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed the issue tracker link (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/74\"\u003e#74\u003c/a\u003e, thanks \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull diff:\u003c/strong\u003e \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/71\"\u003epytest-dev/iniconfig#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/72\"\u003epytest-dev/iniconfig#72\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix link to issues by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eparse_lines: keep values as list of lines, join once by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/78\"\u003epytest-dev/iniconfig#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/73\"\u003epytest-dev/iniconfig#73\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff autofix by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/80\"\u003epytest-dev/iniconfig#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use parse API in the README example by \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip leading UTF-8 BOM when reading INI files by \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echangelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/81\"\u003epytest-dev/iniconfig#81\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/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.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/pytest-dev/iniconfig/blob/main/CHANGELOG\"\u003einiconfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix quadratic parse time for values with many continuation lines (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estrip a leading UTF-8 BOM when reading INI files, which previously raised \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einternal: \u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/316fbfaf2752d89326e1e75b45cd070f5b5ace9a\"\u003e\u003ccode\u003e316fbfa\u003c/code\u003e\u003c/a\u003e changelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/d2dcb7289291e7e7019c183659814d42f7264b2d\"\u003e\u003ccode\u003ed2dcb72\u003c/code\u003e\u003c/a\u003e Strip leading UTF-8 BOM when reading INI files (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/40d8c03a1553953350d787e45f1cb768e2c14e6a\"\u003e\u003ccode\u003e40d8c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e from MbappeWU/codex/docs-parse-inline-comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/48359c3a7c2c8648a134ea8469e802b5aa8d5030\"\u003e\u003ccode\u003e48359c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/80\"\u003e#80\u003c/a\u003e from pytest-dev/claude/fix-iniconfig-test-eukh2n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/b153213a011fa92f4370c83cef614cf73c987f57\"\u003e\u003ccode\u003eb153213\u003c/code\u003e\u003c/a\u003e test: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff RUF022 autofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/4fddfabc850afee28178931c62535ba1c2b30c72\"\u003e\u003ccode\u003e4fddfab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/73\"\u003e#73\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/15852c2d1f9178ff960bf6c39a6f0f1495f1009e\"\u003e\u003ccode\u003e15852c2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/2e68639c3f41ea5b693f89807172cf304c94fb9e\"\u003e\u003ccode\u003e2e68639\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/23c9e088a909f16d0d8dc03b5090c66964c428b0\"\u003e\u003ccode\u003e23c9e08\u003c/code\u003e\u003c/a\u003e docs: use parse API in the README example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/e038536fbee6b5e76b180fce6694fd54661ced12\"\u003e\u003ccode\u003ee038536\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e from RonnyPfannschmidt/claude/dazzling-einstein-h8zq7m\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `librt` from 0.15.0 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/librt/commit/b2508063e86e012301e09432a6d58e74224f1e24\"\u003e\u003ccode\u003eb250806\u003c/code\u003e\u003c/a\u003e Sync mypy and bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mypyc/librt/compare/v0.15.0...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.0 to 3.10.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.9\u003c/h2\u003e\n\u003cp\u003eThis is a micro release of the v3.10.x series.\nHighlights of this release include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious minor bug and doc fixes\u003c/li\u003e\n\u003cli\u003eSecurity hardening validation of cyclers - Removing eval usage\u003c/li\u003e\n\u003cli\u003eSecurity hardening in Latex and PS calls - Removing shell escapes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eREL: v3.10.8\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe primary highlights of this release are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProperly allow freethreaded mode in the MacOS backend\u003c/li\u003e\n\u003cli\u003eBetter error handling for MacOS backend\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.6\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eHighlights from this release include:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Fix regression of hi-dpi support for Qt\r\n- Fix race condition in TexManager.make_dvi \u0026amp; make_png\r\n- Various documentation and other bugfixes\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eREL: v3.10.5\u003c/h2\u003e\n\u003cp\u003eThis is the fourth bugfix release of the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eIncluded in this release is distributed wheels for Python 3.14 (including freethreaded) and Windows ARM.\u003c/p\u003e\n\u003cp\u003eThere are also several smaller bugfixes.\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.3\u003c/h2\u003e\n\u003cp\u003eThis is the third bugfix release of the 3.10.x series\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.1\u003c/h2\u003e\n\u003cp\u003eThis is the first bugfix release of the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThis release contains several bug-fixes and adjustments:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRespect array alpha with interpolation_stage='rgba' in _Imagebase::_make_image\u003c/li\u003e\n\u003cli\u003eRemove md5 usage to prevent issues on FIPS enabled systems\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/matplotlib/matplotlib/commit/dd8d78b8dce60b6c8db86132892577a0b9dbe469\"\u003e\u003ccode\u003edd8d78b\u003c/code\u003e\u003c/a\u003e REL: v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/2fb18915bcfe69a188832c776fe18d88337de9bc\"\u003e\u003ccode\u003e2fb1891\u003c/code\u003e\u003c/a\u003e REL: Release prep v3.10.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d0e923abfa016c04901fe4e315b9d215949f6fc5\"\u003e\u003ccode\u003ed0e923a\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.8-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/163793248a5fc9f23a560e45551c44351a8bd716\"\u003e\u003ccode\u003e1637932\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31558\"\u003e#31558\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31556-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a83faacb0dbe7edd1bae38e1e715b77b6aaebb84\"\u003e\u003ccode\u003ea83faac\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31556\"\u003e#31556\u003c/a\u003e: FIX: Inverted PyErr_Occurred check in enum type caster (_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a4f57ab0623f9d26be29e0a3b0de904667c7eeb7\"\u003e\u003ccode\u003ea4f57ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31545\"\u003e#31545\u003c/a\u003e from ksunden/backport-of-pr-31282-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/063288d0cc912aa2af5cc1b7e7ca3d228d9f8976\"\u003e\u003ccode\u003e063288d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31544\"\u003e#31544\u003c/a\u003e from ksunden/backport-of-pr-31248-on-v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/b2ed1969191a03ec8927f96573664474662ab4c1\"\u003e\u003ccode\u003eb2ed196\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31248\"\u003e#31248\u003c/a\u003e: SEC: Remove eval() from validate_cycler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/acc60241a70b920eaf04fce41a8cf0a77010fb7d\"\u003e\u003ccode\u003eacc6024\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31282\"\u003e#31282\u003c/a\u003e from scottshambaugh/tex_no_shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/e3fb54163b1ce9dbc1a9e8e0973289dc14e366c2\"\u003e\u003ccode\u003ee3fb541\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/31078\"\u003e#31078\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-31075-on-v...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.0...v3.10.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 2.4\u003c/h2\u003e\n\u003cp\u003eWe've just uploaded mypy 2.4.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.15 Support\u003c/h3\u003e\n\u003cp\u003eMypy 2.4 supports running on Python 3.15 and type checking most Python\n3.15 features. This includes the new builtin \u003ccode\u003esentinel\u003c/code\u003e type for\nsentinel values (PEP 661), which mypy now supports (see below for\ndetails). Lazy imports (PEP 810) and unpacking in comprehensions\n(PEP 798) are also supported. Closed TypedDicts (PEP 728) have been\nsupported since mypy 2.2, but the \u003ccode\u003eextra_items\u003c/code\u003e TypedDict argument,\nalso introduced in PEP 728, is still unsupported. Support for\n\u003ccode\u003eextra_items\u003c/code\u003e will be added in a future mypy release.\u003c/p\u003e\n\u003ch3\u003eNative Parser Enabled by Default\u003c/h3\u003e\n\u003cp\u003eMypy now uses the new native parser by default. It's based on the Ruff\nparser, and it's significantly faster than the legacy parser, which\nuses the stdlib \u003ccode\u003east\u003c/code\u003e module. The native parser also has other\nbenefits:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou can target newer Python versions and use recent Python syntax\neven when running mypy on an older Python version. For example, you\ncan use \u003ccode\u003e--python-version 3.15\u003c/code\u003e when running mypy on Python 3.14.\u003c/li\u003e\n\u003cli\u003eStub files can use syntax that is newer than the target Python\nversion. For example, stubs can use the PEP 695 generic class syntax\n(\u003ccode\u003eclass Box[T]: ...\u003c/code\u003e) when running on or targeting Python 3.10.\u003c/li\u003e\n\u003cli\u003eParallel type checking requires the native parser.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe legacy parser is still available through \u003ccode\u003e--no-native-parser\u003c/code\u003e, or\n\u003ccode\u003enative_parser = False\u003c/code\u003e in the config file (\u003ccode\u003enative_parser = false\u003c/code\u003e\nunder \u003ccode\u003e[tool.mypy]\u003c/code\u003e in pyproject.toml). We are planning to remove the\nlegacy parser in early 2027. If you run into a problem with the native\nparser, please report it on the\n\u003ca href=\"https://github.com/python/mypy/issues\"\u003eissue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUnlike the legacy parser, the native parser doesn't support type\ncomments for variables defined by \u003ccode\u003efor\u003c/code\u003e and \u003ccode\u003ewith\u003c/code\u003e statements. These\ntype comments are silently ignored, and the types of the variables are\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/935ba8afba7ceacca0651579450c74339f343016\"\u003e\u003ccode\u003e935ba8a\u003c/code\u003e\u003c/a\u003e Bump version to 2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/334a678967dc6bcda3d3f8cb82e253dd61fa2be9\"\u003e\u003ccode\u003e334a678\u003c/code\u003e\u003c/a\u003e Add link for PR 22066 in mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22082\"\u003e#22082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/fe69660bcdaa76cccb1aedbb4b9c1c7627215571\"\u003e\u003ccode\u003efe69660\u003c/code\u003e\u003c/a\u003e Finalize mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22080\"\u003e#22080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/541fd87ac53581fb3c511b277fd780ec4e869c95\"\u003e\u003ccode\u003e541fd87\u003c/code\u003e\u003c/a\u003e Various mypy 2.4 changelog updates (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22077\"\u003e#22077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b231182c0b2993918f74594236bda7d3ec6fcbe5\"\u003e\u003ccode\u003eb231182\u003c/code\u003e\u003c/a\u003e Update native parser docs (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22078\"\u003e#22078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/04fe42ce217f120a4de2c1fd62b71ef77452d699\"\u003e\u003ccode\u003e04fe42c\u003c/code\u003e\u003c/a\u003e Initial Changelog for Mypy 2.4 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22071\"\u003e#22071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/06174941bca0e88567441ee3cb0ffaef0dd22e2c\"\u003e\u003ccode\u003e0617494\u003c/code\u003e\u003c/a\u003e Quick fix for non UTF-8 encodings with new parser (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22066\"\u003e#22066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b2f9b60eae5ac7cd9c6a60650b128815bb703daf\"\u003e\u003ccode\u003eb2f9b60\u003c/code\u003e\u003c/a\u003e Bump librt to 0.16.0 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22067\"\u003e#22067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d798dcb9589f9bd62e625a97d8db23ad9a678fa\"\u003e\u003ccode\u003e9d798dc\u003c/code\u003e\u003c/a\u003e Sync typeshed (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22054\"\u003e#22054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0861bb6450d6d3658e44dbca9cd2ba478faf3c1d\"\u003e\u003ccode\u003e0861bb6\u003c/code\u003e\u003c/a\u003e Reduce max protocol stack size to 20 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22053\"\u003e#22053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v2.3.1...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nodeenv` from 1.10.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ekalinin/nodeenv/releases\"\u003enodeenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features 🎉\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(certifi): optionally use certifi certificates by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/394\"\u003eekalinin/nodeenv#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): accept npm-style semver ranges in --node by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/393\"\u003eekalinin/nodeenv#393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): add --prefer-system to use system node when available by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/395\"\u003eekalinin/nodeenv#395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): add --isolate-npm to keep npm config inside the environment by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/396\"\u003eekalinin/nodeenv#396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): install local packages from a requirements file by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/407\"\u003eekalinin/nodeenv#407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): write the posix activate on Windows for git-bash by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/409\"\u003eekalinin/nodeenv#409\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed bugs 🐛\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: repair Windows CI (ZipFile.extractall filter, test_smoke layout) by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/392\"\u003eekalinin/nodeenv#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): replace leftover debug print with logger.debug by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/391\"\u003eekalinin/nodeenv#391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): stop -p from reinstalling node that is already there by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/403\"\u003eekalinin/nodeenv#403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): let -p target a virtualenv nodeenv isn't installed in by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/402\"\u003eekalinin/nodeenv#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): report the url and proxy instead of a traceback by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/410\"\u003eekalinin/nodeenv#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): keep the python virtualenv's scripts under -p on Windows by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/411\"\u003eekalinin/nodeenv#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): report a missing node archive instead of a traceback by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/412\"\u003eekalinin/nodeenv#412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): detect musl regardless of the host triplet vendor by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/413\"\u003eekalinin/nodeenv#413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): read npm's parseable listing in freeze by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/414\"\u003eekalinin/nodeenv#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: allow zsh to source bin/activate by \u003ca href=\"https://github.com/r3wretrhy\"\u003e\u003ccode\u003e@​r3wretrhy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/417\"\u003eekalinin/nodeenv#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(nodeenv): link nodejs.exe without mklink by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/415\"\u003eekalinin/nodeenv#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements 🛠\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEAT: Check if activate is called as script. by \u003ca href=\"https://github.com/quazgar\"\u003e\u003ccode\u003e@​quazgar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/384\"\u003eekalinin/nodeenv#384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eaddress deprecation warning in tarfile.TarFile.extract all in Python … by \u003ca href=\"https://github.com/nernst\"\u003e\u003ccode\u003e@​nernst\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/380\"\u003eekalinin/nodeenv#380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): run the activation scripts in sh, dash, bash, zsh and fish by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/397\"\u003eekalinin/nodeenv#397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): give the integration smoke tests a home and stop running them 20 times by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/401\"\u003eekalinin/nodeenv#401\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(nodeenv): clean \u0026quot;src\u0026quot; directory by default by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/404\"\u003eekalinin/nodeenv#404\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs(readme): document file:// mirrors as a local download source by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/405\"\u003eekalinin/nodeenv#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(changes): backfill the changelog from 1.3.2 to 1.10.0 by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/408\"\u003eekalinin/nodeenv#408\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(release): bump nodeenv version to 1.11.0 by \u003ca href=\"https://github.com/ekalinin\"\u003e\u003ccode\u003e@​ekalinin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/418\"\u003eekalinin/nodeenv#418\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/quazgar\"\u003e\u003ccode\u003e@​quazgar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/384\"\u003eekalinin/nodeenv#384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nernst\"\u003e\u003ccode\u003e@​nernst\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/380\"\u003eekalinin/nodeenv#380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/r3wretrhy\"\u003e\u003ccode\u003e@​r3wretrhy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/pull/417\"\u003eekalinin/nodeenv#417\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ekalinin/nodeenv/compare/1.10.0...1.11.0\"\u003ehttps://github.com/ekalinin/nodeenv/compare/1.10.0...1.11.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/ekalinin/nodeenv/blob/master/CHANGES\"\u003enodeenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed zsh \u003ccode\u003esource bin/activate\u003c/code\u003e aborting on the direct-call guard \u003ccode\u003e[#398](https://github.com/ekalinin/nodeenv/issues/398) \u0026lt;https://github.com/ekalinin/nodeenv/issues/398\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded check for how \u003ccode\u003eactivate\u003c/code\u003e is called\n\u003ccode\u003e[#384](https://github.com/ekalinin/nodeenv/issues/384) \u0026lt;https://github.com/ekalinin/nodeenv/pull/384\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAddressed the \u003ccode\u003etarfile.extractall\u003c/code\u003e deprecation on Python \u0026gt;= 3.12 by\nsetting \u003ccode\u003efilter='data'\u003c/code\u003e, which also prevents writing files via \u0026quot;..\u0026quot; or\nabsolute paths \u003ccode\u003e[#380](https://github.com/ekalinin/nodeenv/issues/380) \u0026lt;https://github.com/ekalinin/nodeenv/pull/380\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded support for Solaris/illumos\n\u003ccode\u003e[#360](https://github.com/ekalinin/nodeenv/issues/360) \u0026lt;https://github.com/ekalinin/nodeenv/issues/360\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003epredeactivate\u003c/code\u003e hooks for Windows\u003c/li\u003e\n\u003cli\u003eAdded error handling and tests for the node installation\n\u003ccode\u003e[#336](https://github.com/ekalinin/nodeenv/issues/336) \u0026lt;https://github.com/ekalinin/nodeenv/issues/336\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eRemoved the leftover debug \u003ccode\u003eprint\u003c/code\u003e that leaked a dict to stdout on every\nversion detection \u003ccode\u003e[#390](https://github.com/ekalinin/nodeenv/issues/390) \u0026lt;https://github.com/ekalinin/nodeenv/issues/390\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e--with-certifi\u003c/code\u003e to download packages with the certifi certificate\nbundle \u003ccode\u003e[#388](https://github.com/ekalinin/nodeenv/issues/388) \u0026lt;https://github.com/ekalinin/nodeenv/pull/388\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--node\u003c/code\u003e accepts npm-style semver ranges\n\u003ccode\u003e[#393](https://github.com/ekalinin/nodeenv/issues/393) \u0026lt;https://github.com/ekalinin/nodeenv/pull/393\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e--prefer-system\u003c/code\u003e to use system-wide node.js when available and\ninstall one otherwise \u003ccode\u003e[#153](https://github.com/ekalinin/nodeenv/issues/153) \u0026lt;https://github.com/ekalinin/nodeenv/issues/153\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e--isolate-npm\u003c/code\u003e to keep npm cache, userconfig and init-module inside\nthe environment \u003ccode\u003e[#154](https://github.com/ekalinin/nodeenv/issues/154) \u0026lt;https://github.com/ekalinin/nodeenv/issues/154\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdded tests that run the activation scripts in sh, dash, bash, zsh and fish.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-p\u003c/code\u003e no longer reinstalls node when the requested version is already in the\nvirtualenv \u003ccode\u003e[#159](https://github.com/ekalinin/nodeenv/issues/159) \u0026lt;https://github.com/ekalinin/nodeenv/issues/159\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eRepeated \u003ccode\u003e-p\u003c/code\u003e runs no longer duplicate the \u003ccode\u003epredeactivate\u003c/code\u003e hook\n\u003ccode\u003e[#159](https://github.com/ekalinin/nodeenv/issues/159) \u0026lt;https://github.com/ekalinin/nodeenv/issues/159\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-p\u003c/code\u003e accepts an optional virtualenv directory and prefers the activated\n\u003ccode\u003eVIRTUAL_ENV\u003c/code\u003e over the virtualenv nodeenv itself is installed in\n\u003ccode\u003e[#156](https://github.com/ekalinin/nodeenv/issues/156) \u0026lt;https://github.com/ekalinin/nodeenv/issues/156\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-r/--requirements\u003c/code\u003e may now be given more than once, and the new\n\u003ccode\u003e--local-requirements\u003c/code\u003e installs the packages of a file locally, into\n\u0026quot;node_modules\u0026quot; of the current directory, which is what \u003ccode\u003efreeze -l\u003c/code\u003e writes.\nUnder npm \u0026lt; 1.0.0, which has no \u003ccode\u003e-g\u003c/code\u003e, a local file is still installed the\nold way \u003ccode\u003e[#206](https://github.com/ekalinin/nodeenv/issues/206) \u0026lt;https://github.com/ekalinin/nodeenv/issues/206\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eThe \u0026quot;src\u0026quot; directory is now removed after installation by default, which\nhalves the size of an environment. Added \u003ccode\u003e--no-clean-src\u003c/code\u003e to keep it: with\n\u003ccode\u003e--source\u003c/code\u003e that is what lets a repeated \u003ccode\u003e--force\u003c/code\u003e build reuse the\ndownloaded source tree\n\u003ccode\u003e[#205](https://github.com/ekalinin/nodeenv/issues/205) \u0026lt;https://github.com/ekalinin/nodeenv/issues/205\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eDocumented that \u003ccode\u003e--mirror\u003c/code\u003e takes a \u003ccode\u003efile://\u003c/code\u003e URL, so a local directory can\nserve as the download source\n\u003ccode\u003e[#193](https://github.com/ekalinin/nodeenv/issues/193) \u0026lt;https://github.com/ekalinin/nodeenv/issues/193\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eThe posix \u003ccode\u003eactivate\u003c/code\u003e is now written on Windows too, into \u0026quot;Scripts\u0026quot;, so\ngit-bash and the other posix shells there can activate an environment\n\u003ccode\u003e[#226](https://github.com/ekalinin/nodeenv/issues/226) \u0026lt;https://github.com/ekalinin/nodeenv/issues/226\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eA download that reaches nothing at all, which a broken \u003ccode\u003ehttp_proxy\u003c/code\u003e or\n\u003ccode\u003ehttps_proxy\u003c/code\u003e usually causes, now reports the url and the proxy settings\ninstead of a traceback\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/ekalinin/nodeenv/commit/e7453580730938674da3e6928cc663cf9faf9e66\"\u003e\u003ccode\u003ee745358\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ekalinin/nodeenv/issues/418\"\u003e#418\u003c/a\u003e from ekalinin/chore/release-1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ekalinin/nodeenv/commit/fd19956502f268aeb69757cbee17569ec7adf97a\"\u003e\u003ccode\u003efd19956\u003c/code\u003e\u003c/a\u003e...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated development and project tooling versions.\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/Sharqascc/graf/pull/125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharqascc%2Fgraf/issues/125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/125/packages"}},{"old_version":"6.168.5","new_version":"6.169.4","update_type":"minor","path":null,"pr_created_at":"2026-10-16T08:44:41.000Z","version_change":"6.168.5 → 6.169.4","issue":{"uuid":"5881128605","node_id":"PR_kwDOT_gyjc8AAAABIzeAng","number":46,"state":"closed","title":"build(deps): bump the python-runtime group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-18T18:53:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-16T08:44:41.000Z","updated_at":"2026-10-18T18:53:12.000Z","time_to_close":209302,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-runtime","update_count":2,"packages":[{"name":"hypothesis","old_version":"6.168.5","new_version":"6.169.4","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.16.10","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-runtime group with 2 updates in the / directory: [hypothesis](https://github.com/HypothesisWorks/hypothesis) and [ruff](https://github.com/astral-sh/ruff).\n\nUpdates `hypothesis` from 6.168.5 to 6.169.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e7c0eb9cc13f75ed6799396064f16a55edd3a398\"\u003e\u003ccode\u003ee7c0eb9\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c3705d257fdde89324cdaca53390011cc116324a\"\u003e\u003ccode\u003ec3705d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4898\"\u003e#4898\u003c/a\u003e from Arjun-Aravind/fix/unresolved-lazy-annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6ec54d574182ae21b842bf480e59ce894fcb400e\"\u003e\u003ccode\u003e6ec54d5\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/37c64201b5b708828bda91b0a5ec418efadcaf2f\"\u003e\u003ccode\u003e37c6420\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4903\"\u003e#4903\u003c/a\u003e from MarcoGorelli/random-seed-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/18ad4419644b7785ce7bcd73cfe4e569921ec85d\"\u003e\u003ccode\u003e18ad441\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/29a1dc0da1c339de3908e4df335ed057abd23e50\"\u003e\u003ccode\u003e29a1dc0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4883\"\u003e#4883\u003c/a\u003e from deepak7lal/fix/ghostwriter-no-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b94375310c9d9724ca5177d08314dc5a79db4a78\"\u003e\u003ccode\u003eb943753\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e8d38bef08ad1dbd0f8d06ddc502654d182d4841\"\u003e\u003ccode\u003ee8d38be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4892\"\u003e#4892\u003c/a\u003e from MarcoGorelli/data-strategy-keyword-args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/386a9299988f7198efebc5ff755bc47fc864f783\"\u003e\u003ccode\u003e386a929\u003c/code\u003e\u003c/a\u003e Accept the same arguments as Random.seed() in randoms()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b3cfe2a2a98144b7ccb743cd61e4949989573266\"\u003e\u003ccode\u003eb3cfe2a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4901\"\u003e#4901\u003c/a\u003e from Liam-DeVoe/redistribute-numeric-pairs-int-test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.5...v6.169.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.16.10 to 0.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through \u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or \u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15 instead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules (\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default, while \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and includes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e now recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ccode\u003efull\u003c/code\u003e output format now shows unsafe fixes and suggestions requiring manual review, regardless of the \u003ca href=\"https://docs.astral.sh/ruff/settings/#unsafe-fixes\"\u003e\u003ccode\u003eunsafe-fixes\u003c/code\u003e\u003c/a\u003e setting. Actually applying unsafe fixes still requires explicit opt-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove the Python dependency from conda-forge builds (\u003ca href=\"https://redirect.github.com/conda-forge/ruff-feedstock/pull/361\"\u003econda-forge/ruff-feedstock#361\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe conda-forge build no longer depends on Python, now supports linux-riscv64, win-arm64, and linux-ppc64le platforms, and now includes shell completions. However, no longer depending on Python means that \u003ccode\u003epython -m ruff\u003c/code\u003e and \u003ccode\u003eimport ruff\u003c/code\u003e will no longer work. Use \u003ccode\u003eruff\u003c/code\u003e directly from \u003ccode\u003ePATH\u003c/code\u003e instead. PyPI installations and those from the standalone installer are unaffected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for ruff-lsp (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28750\"\u003e#28750\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSupport for \u003ccode\u003eruff-lsp\u003c/code\u003e, the legacy Python language server \u003ca href=\"https://github.com/astral-sh/ruff/releases/tag/0.9.5\"\u003edeprecated in Ruff v0.9.5\u003c/a\u003e, has been removed. The Ruff VS Code extension now always uses the native language server; \u003ccode\u003eruff.nativeServer\u003c/code\u003e is deprecated and ignored. See the \u003ca href=\"https://docs.astral.sh/ruff/editors/migration/\"\u003emigration guide\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-mismatch\"\u003e\u003ccode\u003elazy-import-mismatch\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID254\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lazy-import-immediately-resolved\"\u003e\u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eTID255\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/os-path-commonprefix\"\u003e\u003ccode\u003eos-path-commonprefix\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF071\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-09.\u003c/p\u003e\n\u003cp\u003eThe executables in our macOS and Windows release archives and \u003ccode\u003eruff\u003c/code\u003e wheels are now code-signed.\nmacOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows\nexecutables have timestamped Authenticode signatures from Azure Artifact Signing. This enables\nverification of the release publisher and binary integrity, supports publisher-based allowlisting,\nand should reduce security warnings and antivirus false positives.\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28792\"\u003e#28792\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through\n\u003ca href=\"https://docs.astral.sh/ruff/settings/#target-version\"\u003e\u003ccode\u003etarget-version\u003c/code\u003e\u003c/a\u003e or\n\u003ca href=\"https://docs.astral.sh/ruff/configuration/#inferring-the-python-version\"\u003e\u003ccode\u003erequires-python\u003c/code\u003e\u003c/a\u003e. When\nchecking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15\ninstead of 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28786\"\u003e#28786\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eSeveral of the \u003ccode\u003eflake8-datetimez\u003c/code\u003e rules\n(\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-without-tzinfo/\"\u003e\u003ccode\u003eDTZ001\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-now-without-tzinfo/\"\u003e\u003ccode\u003eDTZ005\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-fromtimestamp/\"\u003e\u003ccode\u003eDTZ006\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-datetime-strptime-without-zone/\"\u003e\u003ccode\u003eDTZ007\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-today/\"\u003e\u003ccode\u003eDTZ011\u003c/code\u003e\u003c/a\u003e,\n\u003ca href=\"https://docs.astral.sh/ruff/rules/call-date-fromtimestamp/\"\u003e\u003ccode\u003eDTZ012\u003c/code\u003e\u003c/a\u003e, and\n\u003ca href=\"https://docs.astral.sh/ruff/rules/datetime-min-max/\"\u003e\u003ccode\u003eDTZ901\u003c/code\u003e\u003c/a\u003e) are no longer enabled by default,\nwhile \u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eF406\u003c/code\u003e), which corresponds to a syntax error, is now enabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate Rust crate quick-junit to 0.8.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27295\"\u003e#27295\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eJUnit output now uses a \u003ccode\u003eskipped\u003c/code\u003e attribute instead of \u003ccode\u003edisabled\u003c/code\u003e on \u003ccode\u003e\u0026lt;testsuite\u0026gt;\u003c/code\u003e elements and\nincludes a \u003ccode\u003eskipped\u003c/code\u003e attribute on the root \u003ccode\u003e\u0026lt;testsuites\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (\u003ccode\u003eICN001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28790\"\u003e#28790\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Unicode dummy variable names (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28722\"\u003e#28722\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThe default \u003ca href=\"https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx\"\u003e\u003ccode\u003elint.dummy-variable-rgx\u003c/code\u003e\u003c/a\u003e\nnow recognizes underscore-prefixed Unicode names, such as \u003ccode\u003e_次\u003c/code\u003e, as dummy variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate to Unicode 17 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21229\"\u003e#21229\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28784\"\u003e#28784\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRuff now uses Unicode 17 data for identifier normalization and named character escapes (\u003ccode\u003e\u0026quot;\\N{...}\u0026quot;\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways show unsafe and display-only fixes in the CLI (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/27810\"\u003e#27810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5b27c1ccfaa230fb195855f5cf3404a21e3379cd\"\u003e\u003ccode\u003e5b27c1c\u003c/code\u003e\u003c/a\u003e Bump version to 0.17.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29259\"\u003e#29259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8f362bf4cb5dbad095ac416602496705d41fc843\"\u003e\u003ccode\u003e8f362bf\u003c/code\u003e\u003c/a\u003e Integrate vendored Unicode names into Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/88a50d695c1142294bb4c780fad47d3306173885\"\u003e\u003ccode\u003e88a50d6\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode loose matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/276832aa91f2086a6ec880884fcdd987991cddf2\"\u003e\u003ccode\u003e276832a\u003c/code\u003e\u003c/a\u003e Revert upstream Unicode alias normalization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/26911caa2800758779965510d2f222b438abbb38\"\u003e\u003ccode\u003e26911ca\u003c/code\u003e\u003c/a\u003e Vendor unicode_names2 from upstream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27e3797508d1a7ad69e4900d51e38d78785aaf73\"\u003e\u003ccode\u003e27e3797\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eruff\u003c/code\u003e] Stabilize \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28764\"\u003e#28764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bbb52c1267cf39aba67e54c2b5800878d23073a9\"\u003e\u003ccode\u003ebbb52c1\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-immediately-resolved\u003c/code\u003e (`TID255...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5aa9cbd3a49d32b24ac21fa7797ca87a330792a2\"\u003e\u003ccode\u003e5aa9cbd\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Stabilize \u003ccode\u003elazy-import-mismatch\u003c/code\u003e (\u003ccode\u003eTID254\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28760\"\u003e#28760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/dba1bc893aedfeea2064c4e8e764135f0d44dc3f\"\u003e\u003ccode\u003edba1bc8\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add \u003ccode\u003edatetime as dt\u003c/code\u003e as a conventional alias (`...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef23c9c39eb3029bab0139c3ea7ae6d95c4131e0\"\u003e\u003ccode\u003eef23c9c\u003c/code\u003e\u003c/a\u003e Update default and latest Python versions for 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28792\"\u003e#28792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.10...0.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Hecavex/radar.hecavex.com/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hecavex%2Fradar.hecavex.com/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"}},{"old_version":"6.155.3","new_version":"6.168.3","update_type":"minor","path":"/Tools","pr_created_at":"2026-10-16T04:05:11.000Z","version_change":"6.155.3 → 6.168.3","issue":{"uuid":"5878127793","node_id":"PR_kwDOVLwmd88AAAABIxF7bg","number":6,"state":"open","title":"build(deps): bump hypothesis from 6.155.3 to 6.168.3 in /Tools","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-10-16T04:05:11.000Z","updated_at":"2026-10-16T04:05:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"hypothesis","old_version":"6.155.3","new_version":"6.168.3","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":"/Tools","ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.155.3 to 6.168.3.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7fabb948190bcf220ae577f0b9a9826fd1d5c7a3\"\u003e\u003ccode\u003e7fabb94\u003c/code\u003e\u003c/a\u003e Add RELEASE.rst and AUTHORS.rst changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0ab4e3883e68bf27011e393c6bed498eea50ed81\"\u003e\u003ccode\u003e0ab4e38\u003c/code\u003e\u003c/a\u003e Summarize statistics events in linear time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/32ebeb29374b1b2274e42eea2ae703a6cdcdc4ec\"\u003e\u003ccode\u003e32ebeb2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ff7e800971bacfabe4f498bc883c3fafc16c797f\"\u003e\u003ccode\u003eff7e800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4886\"\u003e#4886\u003c/a\u003e from pschanely/atomic-constants-cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e57fd12bc0c4242bedf4163497542b2a9aee00f3\"\u003e\u003ccode\u003ee57fd12\u003c/code\u003e\u003c/a\u003e Isolate the constants cache test from existing cache files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c8981a0f1d0b84a5bd5ede0f7ae1aef768715177\"\u003e\u003ccode\u003ec8981a0\u003c/code\u003e\u003c/a\u003e Write the local constants cache atomically\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9c55f97e507eae21677457e84737b386fd06e271\"\u003e\u003ccode\u003e9c55f97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4877\"\u003e#4877\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.155.3...v6.168.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=hypothesis\u0026package-manager=pip\u0026previous-version=6.155.3\u0026new-version=6.168.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/demogxp-mig4/cpython/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/demogxp-mig4%2Fcpython/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"6.168.5","new_version":"6.169.0","update_type":"minor","path":null,"pr_created_at":"2026-10-15T04:41:42.000Z","version_change":"6.168.5 → 6.169.0","issue":{"uuid":"5860208807","node_id":"PR_kwDORgfIwM8AAAABIixIDw","number":224,"state":"open","title":"build(deps): bump the other group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["aisecnomad"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-15T04:41:42.000Z","updated_at":"2026-10-15T04:51:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"other","update_count":6,"packages":[{"name":"hypothesis","old_version":"6.168.5","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"filelock","old_version":"4.0.12","new_version":"4.1.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"platformdirs","old_version":"4.12.4","new_version":"4.13.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"python-discovery","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"virtualenv","old_version":"21.14.6","new_version":"21.14.7","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [hypothesis](https://github.com/HypothesisWorks/hypothesis), [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings), [filelock](https://github.com/tox-dev/py-filelock), [platformdirs](https://github.com/tox-dev/platformdirs), [python-discovery](https://github.com/tox-dev/python-discovery) and [virtualenv](https://github.com/pypa/virtualenv) to permit the latest version.\nUpdates `hypothesis` from 6.168.5 to 6.169.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2416a79271cf101c0290a583392d2429765012a5\"\u003e\u003ccode\u003e2416a79\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into plait/worktop-270d0237\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4c5a08fb84f76b2ef7da80730aef30c96ae45ee\"\u003e\u003ccode\u003eb4c5a08\u003c/code\u003e\u003c/a\u003e claude: drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.5...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings` to 1.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases\"\u003emkdocstrings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.7\"\u003e1.0.7\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.6...1.0.7\"\u003eCompare with 1.0.6\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.10 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/2c2cbb19d0fdab8554f93fe2fb1568ffba8c0f5d\"\u003e2c2cbb1\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pymdownx 12.2 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/ff510f27eb514dd2e46fa213365475d6fa0c4c9e\"\u003eff510f2\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/829\"\u003eIssue-829\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/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md\"\u003emkdocstrings's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.7\"\u003e1.0.7\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.6...1.0.7\"\u003eCompare with 1.0.6\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.10 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/2c2cbb19d0fdab8554f93fe2fb1568ffba8c0f5d\"\u003e2c2cbb1\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pymdownx 12.2 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/ff510f27eb514dd2e46fa213365475d6fa0c4c9e\"\u003eff510f2\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/829\"\u003eIssue-829\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.6\"\u003e1.0.6\u003c/a\u003e - 2026-07-11\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.5...1.0.6\"\u003eCompare with 1.0.5\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop propagating Zensical's \u003ccode\u003ezrelpath\u003c/code\u003e treeprocessor and its \u003ccode\u003epreview\u003c/code\u003e extension (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/473279816aff4cc8ee3215fdf8b2d186517fc63d\"\u003e4732798\u003c/a\u003e by Timothée Mazzucotelli). \u003ca href=\"https://redirect.github.com/zensical/zensical/issues/818\"\u003eIssue-zensical-818\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.5\"\u003e1.0.5\u003c/a\u003e - 2026-07-10\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.4...1.0.5\"\u003eCompare with 1.0.4\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eParse inventory project and version (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/acc0da32d11428ea9c60f8e50f90df329f2e6460\"\u003eacc0da3\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.4\"\u003e1.0.4\u003c/a\u003e - 2026-04-15\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.3...1.0.4\"\u003eCompare with 1.0.3\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd timeout when downloading inventories (10 seconds) (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/3d1969a279ea396792c682810d029503e48d8fcd\"\u003e3d1969a\u003c/a\u003e by Simon Lloyd). \u003ca href=\"https://redirect.github.com/mkdocstrings/mkdocstrings/issues/819\"\u003eIssue-819\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.3\"\u003e1.0.3\u003c/a\u003e - 2026-02-07\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.2...1.0.3\"\u003eCompare with 1.0.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward extension instances directly passed from Zensical (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/65b27ec8d1d671eddf021e48b0114cc3f8aca14a\"\u003e65b27ec\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003ePropagate Zensical's \u003ccode\u003ezrelpath\u003c/code\u003e processor (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/dbf263dfdd2fdd769d66fa62bdd388e05988bc78\"\u003edbf263d\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.2\"\u003e1.0.2\u003c/a\u003e - 2026-01-24\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.1...1.0.2\"\u003eCompare with 1.0.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eCode Refactoring\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/mkdocstrings/mkdocstrings/commit/79eefbc4543915daafd936437e285907111aaf13\"\u003e\u003ccode\u003e79eefbc\u003c/code\u003e\u003c/a\u003e chore: Prepare release 1.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/2c2cbb19d0fdab8554f93fe2fb1568ffba8c0f5d\"\u003e\u003ccode\u003e2c2cbb1\u003c/code\u003e\u003c/a\u003e build: Drop support for Python 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/7275d141ec2d1e578ce982cc7963c0144d2fae80\"\u003e\u003ccode\u003e7275d14\u003c/code\u003e\u003c/a\u003e chore: Lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/ff510f27eb514dd2e46fa213365475d6fa0c4c9e\"\u003e\u003ccode\u003eff510f2\u003c/code\u003e\u003c/a\u003e fix: Support pymdownx 12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/8b635eb92d09978231b89a4d24a1b73353489029\"\u003e\u003ccode\u003e8b635eb\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/e0cf0ed66ad0e134a00e49cdeb4576b161624011\"\u003e\u003ccode\u003ee0cf0ed\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/fa50fef2bf25b1aa7e11d99f8730daf64f32cdcf\"\u003e\u003ccode\u003efa50fef\u003c/code\u003e\u003c/a\u003e test: Fix tests for new Pygments version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/e37de4ea38ff4e4bb10f5d5b216edd23309ed5f8\"\u003e\u003ccode\u003ee37de4e\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/0cb9404c6d470fccbed1dffa72b8407789df974d\"\u003e\u003ccode\u003e0cb9404\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/b18d7d58eea7e67377a449d5fed0b2dcc1ed4954\"\u003e\u003ccode\u003eb18d7d5\u003c/code\u003e\u003c/a\u003e docs: Add note about Zensical and gen-files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/1.0.6...1.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 4.0.12 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(python): default to Python 3.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/filelock/pull/816\"\u003etox-dev/filelock#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rw): avoid macOS descriptor lookups 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/filelock/pull/820\"\u003etox-dev/filelock#820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(tests): bound concurrent lock progress 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/filelock/pull/819\"\u003etox-dev/filelock#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: make lock error checks deterministic by \u003ca href=\"https://github.com/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read-write): reject a hostile pid in _owner_is_gone by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/821\"\u003etox-dev/filelock#821\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/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\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/filelock/compare/4.1.0...4.1.1\"\u003ehttps://github.com/tox-dev/filelock/compare/4.1.0...4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: download coverage during tool setup 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/filelock/pull/776\"\u003etox-dev/filelock#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): validate timeout and poll_interval bounds 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/filelock/pull/781\"\u003etox-dev/filelock#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): accept inf and reject nan timeouts by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/779\"\u003etox-dev/filelock#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): ignore non-ASCII generation names by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/778\"\u003etox-dev/filelock#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): check start token in is_lock_held_by_us by \u003ca href=\"https://github.com/lprnmns\"\u003e\u003ccode\u003e@​lprnmns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/774\"\u003etox-dev/filelock#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): clean up marker when rollback close fails by \u003ca href=\"https://github.com/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/775\"\u003etox-dev/filelock#775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): clamp waits to threading.TIMEOUT_MAX by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/780\"\u003etox-dev/filelock#780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): treat truncated markers as malformed 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/filelock/pull/782\"\u003etox-dev/filelock#782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(acquire): keep every acquire wait within the timeout by \u003ca href=\"https://github.com/feiiiiii5\"\u003e\u003ccode\u003e@​feiiiiii5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/777\"\u003etox-dev/filelock#777\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: fix hanging example and platform claims 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/filelock/pull/783\"\u003etox-dev/filelock#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): keep peer marker on ENOSYS fallback 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/filelock/pull/785\"\u003etox-dev/filelock#785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): clear the task hold after a canceled release 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/filelock/pull/789\"\u003etox-dev/filelock#789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): export lease types and has_fcntl 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/filelock/pull/790\"\u003etox-dev/filelock#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): age private records by the filesystem clock 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/filelock/pull/792\"\u003etox-dev/filelock#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): surface executor shutdown as an error 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/filelock/pull/793\"\u003etox-dev/filelock#793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): expire leases on the contender's clock 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/filelock/pull/796\"\u003etox-dev/filelock#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): stop an acquire that close() overtook 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/filelock/pull/798\"\u003etox-dev/filelock#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): record claims before linking them 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/filelock/pull/787\"\u003etox-dev/filelock#787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): restore a live marker a stale break moved aside 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/filelock/pull/786\"\u003etox-dev/filelock#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): chain errors on 3.10 without exceptiongroup 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/filelock/pull/788\"\u003etox-dev/filelock#788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): release a dropped SoftFileLease 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/filelock/pull/791\"\u003etox-dev/filelock#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): keep probe fds until the last connection closes 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/filelock/pull/794\"\u003etox-dev/filelock#794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📦 build(sdist): ship docs and update SECURITY.md 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/filelock/pull/812\"\u003etox-dev/filelock#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): survive a removed generation log 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/filelock/pull/795\"\u003etox-dev/filelock#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): tell PID namespaces apart in the marker host 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/filelock/pull/797\"\u003etox-dev/filelock#797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): release from the finalizer and keep I/O off the loop 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/filelock/pull/800\"\u003etox-dev/filelock#800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): name what blocks the lock path 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/filelock/pull/804\"\u003etox-dev/filelock#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): reject WAL databases and link beside the db 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/filelock/pull/805\"\u003etox-dev/filelock#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): track read depth per thread 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/filelock/pull/806\"\u003etox-dev/filelock#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): honour mode and tighten marker grammar 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/filelock/pull/807\"\u003etox-dev/filelock#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test: drop timing races from two runner-load flakes 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/filelock/pull/809\"\u003etox-dev/filelock#809\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/tox-dev/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.2.0 (2026-10-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eimport filelock\u003c/code\u003e is about twice as fast: lock types other than :class:\u003ccode\u003e~filelock.FileLock\u003c/code\u003e load on first use. :pr:\u003ccode\u003e831\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix :class:\u003ccode\u003e~filelock.StrictSoftFileLock\u003c/code\u003e raising :class:\u003ccode\u003e~filelock.SoftFileLockProtocolError\u003c/code\u003e on Windows when a\ncontender read a claim whose owner was still finishing its unlink. :pr:\u003ccode\u003e829\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.2 (2026-10-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix read-lock acquisition on SQLite versions older than 3.33.0 by using \u003ccode\u003esqlite_master\u003c/code\u003e for the schema probe. :pr:\u003ccode\u003e770\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eIsADirectoryError\u003c/code\u003e (or \u003ccode\u003ePermissionError\u003c/code\u003e on Windows) for a directory lock path regardless of its write\npermissions. :pr:\u003ccode\u003e822\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a forked child hanging at exit on PyPy when the parent forked while an\n:class:\u003ccode\u003e~filelock.AsyncReadWriteLock\u003c/code\u003e worker thread was between two operations. :pr:\u003ccode\u003e828\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHash all cache keys in the lock filename recipe so short path-like keys stay in the chosen directory. The example also\naccepts path-derived surrogate escapes and works before the cache directory exists. :pr:\u003ccode\u003e824\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.1 (2026-10-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eBound the shared-lock contention test by worker progress so slow CI machines can finish the workload. :pr:\u003ccode\u003e819\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid the macOS \u003ccode\u003e/dev/fd\u003c/code\u003e lookup implicated in a kernel panic by opening SQLite through a validated hard link.\nThe database directory must be writable and support hard links; alias creation failure raises \u003ccode\u003eOSError\u003c/code\u003e. :pr:\u003ccode\u003e820\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIgnore non-ASCII PID or start-time fields and out-of-range PIDs in \u003ccode\u003eReadWriteLock\u003c/code\u003e hard-link directory names so forged\nowners cannot abort acquisition. :pr:\u003ccode\u003e821\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e816\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.0 (2026-10-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eImport :data:\u003ccode\u003e~filelock.OwnerMode\u003c/code\u003e, :data:\u003ccode\u003e~filelock.CompromiseReason\u003c/code\u003e and :data:\u003ccode\u003e~filelock.has_fcntl\u003c/code\u003e from\n\u003ccode\u003efilelock\u003c/code\u003e. :pr:\u003ccode\u003e790\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.AcquireReturnProxy\u003c/code\u003e is generic in the lock type, so \u003ccode\u003ewith lock.acquire() as held:\u003c/code\u003e types \u003ccode\u003eheld\u003c/code\u003e as\nthe lock's own class. :pr:\u003ccode\u003e803\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA :class:\u003ccode\u003e~filelock.Timeout\u003c/code\u003e from a soft lock names a holder on another host or in another PID namespace, which no\ncontender ever reclaims. :pr:\u003ccode\u003e815\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003e~filelock.SoftFileLock.is_lock_held_by_us\u003c/code\u003e and :attr:\u003ccode\u003e~filelock.MarkerSoftFileLock.is_lock_held_by_us\u003c/code\u003e return\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/tox-dev/filelock/commit/5830a7e2c39d387ae5320bb3be1fbb2aa7742d4a\"\u003e\u003ccode\u003e5830a7e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a5fb607a8655035bb6d5ae4326637e25cf1af849\"\u003e\u003ccode\u003ea5fb607\u003c/code\u003e\u003c/a\u003e fix(read-write): reject a hostile pid in _owner_is_gone (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/821\"\u003e#821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/4c6f32f2797b2883bbcb0cca1ee81211d3e09c12\"\u003e\u003ccode\u003e4c6f32f\u003c/code\u003e\u003c/a\u003e test: make lock error checks deterministic (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f11f52357425943a6dbffd36ea1112726255f970\"\u003e\u003ccode\u003ef11f523\u003c/code\u003e\u003c/a\u003e fix(tests): bound concurrent lock progress (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5fd0c8f2e6a778da1933204e4a95bd84db9cdd43\"\u003e\u003ccode\u003e5fd0c8f\u003c/code\u003e\u003c/a\u003e fix(rw): avoid macOS descriptor lookups (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c3aaabc75ca927b2530b7264a04b965d64acf55\"\u003e\u003ccode\u003e0c3aaab\u003c/code\u003e\u003c/a\u003e feat(python): default to Python 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6c0ecc28f898f08cd0438cd489c3eaabad79a4b7\"\u003e\u003ccode\u003e6c0ecc2\u003c/code\u003e\u003c/a\u003e Release 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df06bbd640765ad3f1ed4a096cbe29e64b5592bb\"\u003e\u003ccode\u003edf06bbd\u003c/code\u003e\u003c/a\u003e 🐛 fix: close regressions since 4.0.12 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/815\"\u003e#815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/071204515d211b560d203cb68105ec06789eab46\"\u003e\u003ccode\u003e0712045\u003c/code\u003e\u003c/a\u003e 🐛 fix(read-write): refuse a database moved mid-acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/73fefc1e907457dd9bc9793eeba52f183d7f9c40\"\u003e\u003ccode\u003e73fefc1\u003c/code\u003e\u003c/a\u003e 📝 docs: point canonical and og:url at versioned pages (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/813\"\u003e#813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/4.0.12...4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `platformdirs` from 4.12.4 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/platformdirs/releases\"\u003eplatformdirs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: recognize Homebrew Cellar framework prefixes by \u003ca href=\"https://github.com/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): require 3.11 and default to 3.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/platformdirs/pull/613\"\u003etox-dev/platformdirs#613\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/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\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/platformdirs/compare/4.12.4...4.13.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.4...4.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/tox-dev/platformdirs/blob/main/docs/changelog.rst\"\u003eplatformdirs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.13.0 (2026-10-10)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eDetect Homebrew Python for the :class:\u003ccode\u003e~platformdirs.macos.MacOS\u003c/code\u003e site directories under :option:\u003ccode\u003epython:-S\u003c/code\u003e, which\nleaves :data:\u003ccode\u003esys.base_prefix\u003c/code\u003e on the \u003ccode\u003eCellar\u003c/code\u003e keg, and for the \u003ccode\u003epython-freethreading\u003c/code\u003e formula - by\n:user:\u003ccode\u003esricharanreddycheruku\u003c/code\u003e. :pr:\u003ccode\u003e612\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e613\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.4 (2026-10-07)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep site directories readable by other users when root calls\n:meth:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.place_config_file\u003c/code\u003e or another \u003ccode\u003eplace_*_file\u003c/code\u003e method with\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.use_site_for_root\u003c/code\u003e - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. :pr:\u003ccode\u003e610\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake :func:\u003ccode\u003e~platformdirs.user_runtime_dir\u003c/code\u003e warn and fall back from an unreachable \u003ccode\u003eXDG_RUNTIME_DIR\u003c/code\u003e under\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.ensure_exists\u003c/code\u003e instead of raising. :pr:\u003ccode\u003e611\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.3 (2026-10-03)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003ePlace files from \u003ccode\u003eplace_config_file\u003c/code\u003e and \u003ccode\u003eplace_data_file\u003c/code\u003e in the first site directory for root on Unix with\n\u003ccode\u003euse_site_for_root=True\u003c/code\u003e and \u003ccode\u003emultipath=True\u003c/code\u003e, where \u003ccode\u003efind_config_file\u003c/code\u003e and \u003ccode\u003efind_data_file\u003c/code\u003e look for them.\n:pr:\u003ccode\u003e607\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.2 (2026-09-29)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep \u003ccode\u003eos.pathsep\u003c/code\u003e in \u003ccode\u003esite_applications_path\u003c/code\u003e under \u003ccode\u003emultipath=True\u003c/code\u003e on platforms with one applications\ndirectory. :pr:\u003ccode\u003e604\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.1 (2026-09-28)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003ePytestAssertRewriteWarning\u003c/code\u003e when importing \u003ccode\u003eplatformdirs\u003c/code\u003e before invoking pytest. :pr:\u003ccode\u003e601\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.0 (2026-09-26)\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/tox-dev/platformdirs/commit/f05fb4ef31f38dfc316802c5301db972fd75468e\"\u003e\u003ccode\u003ef05fb4e\u003c/code\u003e\u003c/a\u003e Release 4.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/b3174fdd4e80c83d72cf723fd2a7bb6cb54cbd5f\"\u003e\u003ccode\u003eb3174fd\u003c/code\u003e\u003c/a\u003e feat(python): require 3.11 and default to 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/d7eb4fe34231df80a6b1c7abc362aa504feddbf1\"\u003e\u003ccode\u003ed7eb4fe\u003c/code\u003e\u003c/a\u003e fix: recognize Homebrew Cellar framework prefixes (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/platformdirs/compare/4.12.4...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-discovery` from 1.6.1 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/releases\"\u003epython-discovery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ignore broken sphinx-llm release 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/python-discovery/pull/134\"\u003etox-dev/python-discovery#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e👷 ci: pin ubuntu-26.04 and bump dependencies 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/python-discovery/pull/138\"\u003etox-dev/python-discovery#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run old Python checks in parallel 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/python-discovery/pull/140\"\u003etox-dev/python-discovery#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): default to 3.15 and match virtualenv 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/python-discovery/pull/142\"\u003etox-dev/python-discovery#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cache): discard unusable interpreter cache entries by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(query): validate PY_DISCOVERY_TIMEOUT by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/143\"\u003etox-dev/python-discovery#143\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/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\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/python-discovery/compare/1.6.1...1.6.2\"\u003ehttps://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/blob/main/docs/changelog.rst\"\u003epython-discovery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBug fixes - 1.6.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDiscard malformed interpreter cache entries and query the interpreter again, including entries with missing,\nnon-string or unusable \u003ccode\u003esystem_executable\u003c/code\u003e paths - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse the default interpreter query timeout and warn for invalid \u003ccode\u003ePY_DISCOVERY_TIMEOUT\u003c/code\u003e values. Accept \u003ccode\u003einf\u003c/code\u003e\nor values above the subprocess wait limit to disable the timeout - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e143\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev1.6.1 (2026-09-18)\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/python-discovery/commit/4fe2ade736e5191de42ca3d4a0b8bf672ffc5652\"\u003e\u003ccode\u003e4fe2ade\u003c/code\u003e\u003c/a\u003e release 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/60ddef109aafdd6d54aa25c8057a569c76e3dba2\"\u003e\u003ccode\u003e60ddef1\u003c/code\u003e\u003c/a\u003e fix(query): validate PY_DISCOVERY_TIMEOUT (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/eb1eab726924245c533ad867d1b4bcc4c47b6d2a\"\u003e\u003ccode\u003eeb1eab7\u003c/code\u003e\u003c/a\u003e fix(cache): discard unusable interpreter cache entries (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/db810b8206339892c0cd15f000b8e18860a8b913\"\u003e\u003ccode\u003edb810b8\u003c/code\u003e\u003c/a\u003e feat(python): default to 3.15 and match virtualenv (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/142\"\u003e#142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/614afa4adaa5fb36daf38919e3c407af71f3260b\"\u003e\u003ccode\u003e614afa4\u003c/code\u003e\u003c/a\u003e ci: run old Python checks in parallel (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/9148aa454b276b5745d56bb2a42bdc8f26ee7f55\"\u003e\u003ccode\u003e9148aa4\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/a69c0d9139ff0f1276d318d75d25d59cbc172bf4\"\u003e\u003ccode\u003ea69c0d9\u003c/code\u003e\u003c/a\u003e 👷 ci: pin ubuntu-26.04 and bump dependencies (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/138\"\u003e#138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/c8fcbf599ac401c8b1ad793187b28e45ccd1ffc8\"\u003e\u003ccode\u003ec8fcbf5\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/f0b3a2030c57a4f9217cd6ab09f837123ad0bc17\"\u003e\u003ccode\u003ef0b3a20\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/b4eea32e584c0c1f08c9ad4b9f5850cb8c2275da\"\u003e\u003ccode\u003eb4eea32\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.0.1 to 10.1.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `virtualenv` from 21.14.6 to 21.14.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/virtualenv/releases\"\u003evirtualenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.14.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade embedded pip/setuptools/wheel and CI test tools by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3385\"\u003epypa/virtualenv#3385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test(seed): verify periodic update scheduling by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3384\"\u003epypa/virtualenv#3384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): default to Python 3.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/pypa/virtualenv/pull/3386\"\u003epypa/virtualenv#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 chore: enroll in Anthropic OSS Scanner by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3387\"\u003epypa/virtualenv#3387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test(util): skip safe_delete permission tests as root by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3389\"\u003epypa/virtualenv#3389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(security): add an email reporting contact by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3388\"\u003epypa/virtualenv#3388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(activation): escape the bash prompt for both PS1 passes by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3390\"\u003epypa/virtualenv#3390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test(activation): undo both bash prompt passes on bash \u0026lt; 4.4 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3392\"\u003epypa/virtualenv#3392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 build(release): bump pydantic for 3.15 wheels by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3391\"\u003epypa/virtualenv#3391\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.6...21.14.7\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.6...21.14.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst\"\u003evirtualenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBugfixes - 21.14.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eEscape the environment name in the bash activator for both of bash's \u003ccode\u003ePS1\u003c/code\u003e passes, so a name or \u003ccode\u003e--prompt\u003c/code\u003e value\nwith a backslash before \u003ccode\u003e$(...)\u003c/code\u003e or backticks no longer runs as a command each time bash draws the prompt - by\n:user:\u003ccode\u003egaborbernat\u003c/code\u003e. (:issue:\u003ccode\u003e3390\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.6 (2026-10-08)\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/pypa/virtualenv/commit/a857a7823c73c35935d0318b4f36e5d582691e1c\"\u003e\u003ccode\u003ea857a78\u003c/code\u003e\u003c/a\u003e release 21.14.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/4004d884fa22a4fe30fd9f1d8336eec52a796730\"\u003e\u003ccode\u003e4004d88\u003c/code\u003e\u003c/a\u003e 🔧 build(release): bump pydantic for 3.15 wheels (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3391\"\u003e#3391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/212f69fb905371aed4d67fcb2ac194492f417d5b\"\u003e\u003ccode\u003e212f69f\u003c/code\u003e\u003c/a\u003e 🧪 test(activation): undo both bash prompt passes on bash \u0026lt; 4.4 (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3392\"\u003e#3392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/c3104e02474b652832a9bbaae79f6e1696296932\"\u003e\u003ccode\u003ec3104e0\u003c/code\u003e\u003c/a\u003e 🐛 fix(activation): escape the bash prompt for both PS1 passes (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3390\"\u003e#3390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/f29efc45c063e08e02527d211c41b24a3eefe0d3\"\u003e\u003ccode\u003ef29efc4\u003c/code\u003e\u003c/a\u003e 📝 docs(security): add an email reporting contact (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3388\"\u003e#3388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/c26cc297e2291f76a72a925fa83100f827c5c8eb\"\u003e\u003ccode\u003ec26cc29\u003c/code\u003e\u003c/a\u003e 🧪 test(util): skip safe_delete permission tests as root (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3389\"\u003e#3389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/8b21c36b4c56bd3bea41171fa513289c503efd97\"\u003e\u003ccode\u003e8b21c36\u003c/code\u003e\u003c/a\u003e 🔧 chore: enroll in Anthropic OSS Scanner (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/bf09c7eb62246c19c2cfd0a179c5edcc14801397\"\u003e\u003ccode\u003ebf09c7e\u003c/code\u003e\u003c/a\u003e feat(python): default to Python 3.15 (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3386\"\u003e#3386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/3f077928210afa4ec2cca456f4c587460b40bfc5\"\u003e\u003ccode\u003e3f07792\u003c/code\u003e\u003c/a\u003e 🧪 test(seed): verify periodic update scheduling (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3384\"\u003e#3384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/7614b02375239b36090a53ce0f52a7086fbb6766\"\u003e\u003ccode\u003e7614b02\u003c/code\u003e\u003c/a\u003e Upgrade embedded pip/setuptools/wheel and CI test tools (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3385\"\u003e#3385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.6...21.14.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/aisecnomad/Nexus-ShadowScan/pull/224","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aisecnomad%2FNexus-ShadowScan/issues/224","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/224/packages"}},{"old_version":"6.155.7","new_version":"6.169.0","update_type":"minor","path":null,"pr_created_at":"2026-10-14T23:43:40.000Z","version_change":"6.155.7 → 6.169.0","issue":{"uuid":"5857478210","node_id":"PR_kwDOTOzUas8AAAABIgoFRQ","number":38,"state":"closed","title":"ci: bump the minor-and-patch group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-14T23:58:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T23:43:40.000Z","updated_at":"2026-10-14T23:58:32.000Z","time_to_close":890,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"ci: bump","group_name":"minor-and-patch","update_count":2,"packages":[{"name":"hypothesis","old_version":"6.155.7","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"mkdocs-material","old_version":"9.7.6","new_version":"9.7.7","repository_url":"https://github.com/squidfunk/mkdocs-material"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 2 updates in the / directory: [hypothesis](https://github.com/HypothesisWorks/hypothesis) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).\n\nUpdates `hypothesis` from 6.155.7 to 6.169.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.155.7...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.6 to 9.7.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.7\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is approaching end of life\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eMaterial for MkDocs is scheduled to reach end of life on November 5, 2026. Until then, maintenance is limited to critical bug fixes and security updates. After this date, the project will remain available on PyPI and GitHub, but no further maintenance is planned except in exceptional circumstances.\u003c/p\u003e\n\u003cp\u003eFor users looking for a long-term, actively developed successor, we're building \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e – a next-generation static site generator designed for technical documentation. If you're planning a new documentation project or evaluating your long-term options, we invite you to take a look.\u003c/p\u003e\n\u003cp\u003eOrganizations requiring support beyond this date are welcome to get in touch to discuss available options.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a DOM-based XSS vulnerability in search suggestions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/p\"\u003e\u003ccode\u003e@​p\u003c/code\u003e\u003c/a\u003e- for responsibly reporting this issue.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.7 (2026-07-17)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed DOM-based XSS vulnerability in search suggestions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.6 (2026-03-19)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.5 (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.4 (2026-03-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b3e6dd886a974aa8200759ecfd7db28c598a2894\"\u003e\u003ccode\u003eb3e6dd8\u003c/code\u003e\u003c/a\u003e Prepare 9.7.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/52fb6be8aafe326419f34dc94d3211e7bbfbfb25\"\u003e\u003ccode\u003e52fb6be\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/901e6335cc80b0f12e46a1e34bd85e983dd78a6e\"\u003e\u003ccode\u003e901e633\u003c/code\u003e\u003c/a\u003e Added \u003ccode\u003eSECURITY.md\u003c/code\u003e with EOL notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/5b36f2ac499a45905e246bc66bbee2858ef6556f\"\u003e\u003ccode\u003e5b36f2a\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8598\"\u003e#8598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/2d11e7bc92c59b86d6ac0da2e38044fb4befa6e0\"\u003e\u003ccode\u003e2d11e7b\u003c/code\u003e\u003c/a\u003e Bump form-data from 3.0.4 to 3.0.5 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8597\"\u003e#8597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/ae05a534a8c8e1c58eb6aa55d460d309bcfce22b\"\u003e\u003ccode\u003eae05a53\u003c/code\u003e\u003c/a\u003e Bump esbuild from 0.27.2 to 0.28.1 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8596\"\u003e#8596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/434af93166e5b90b78bba1295ca5a140fc67d0bc\"\u003e\u003ccode\u003e434af93\u003c/code\u003e\u003c/a\u003e Bump shell-quote from 1.7.3 to 1.8.4 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8593\"\u003e#8593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/4447cdadcbe8bc82570e9f1ae2b970f461b03b68\"\u003e\u003ccode\u003e4447cda\u003c/code\u003e\u003c/a\u003e Documentation (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8590\"\u003e#8590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/8f8d551c9c5296dfc2a5ede35047bfb491d66bc9\"\u003e\u003ccode\u003e8f8d551\u003c/code\u003e\u003c/a\u003e Updated copyright year (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8588\"\u003e#8588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/08d8514d491782b4ac46673bcfdedb2f6fc85f3d\"\u003e\u003ccode\u003e08d8514\u003c/code\u003e\u003c/a\u003e Bump fast-uri from 3.0.3 to 3.1.2 (\u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.6...9.7.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/gl-pgege/kaboo-workflows/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gl-pgege%2Fkaboo-workflows/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"\u003e=6.163.0","new_version":"\u003e=6.169.0","update_type":"minor","path":"/extra","pr_created_at":"2026-10-14T22:06:12.000Z","version_change":"\u003e=6.163.0 → \u003e=6.169.0","issue":{"uuid":"5856473021","node_id":"PR_kwDOAP4Zb88AAAABIf1EVA","number":92,"state":"closed","title":"Update hypothesis requirement from \u003e=6.163.0 to \u003e=6.169.0 in /extra","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T21:23:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T22:06:12.000Z","updated_at":"2026-10-19T21:23:18.000Z","time_to_close":429425,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"hypothesis","old_version":"\u003e=6.163.0","new_version":"\u003e=6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":"/extra","ecosystem":"pip"},"body":"Updates the requirements on [hypothesis](https://github.com/HypothesisWorks/hypothesis) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.163.0...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/JNRowe/jnrbase/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JNRowe%2Fjnrbase/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"}},{"old_version":"6.168.3","new_version":"6.169.0","update_type":"minor","path":null,"pr_created_at":"2026-10-14T19:45:01.000Z","version_change":"6.168.3 → 6.169.0","issue":{"uuid":"5854493070","node_id":"PR_kwDORehi6c8AAAABIePLdA","number":539,"state":"closed","title":"chore(deps): bump hypothesis from 6.168.3 to 6.169.0","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-14T19:47:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T19:45:01.000Z","updated_at":"2026-10-14T19:47:10.000Z","time_to_close":120,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"hypothesis","old_version":"6.168.3","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.168.3 to 6.169.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.169.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=hypothesis\u0026package-manager=uv\u0026previous-version=6.168.3\u0026new-version=6.169.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/Veldkornet/hyxi-cloud-api/pull/539","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Veldkornet%2Fhyxi-cloud-api/issues/539","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/539/packages"}},{"old_version":"6.168.3","new_version":"6.169.0","update_type":"minor","path":null,"pr_created_at":"2026-10-14T18:59:03.000Z","version_change":"6.168.3 → 6.169.0","issue":{"uuid":"5853811782","node_id":"PR_kwDORgfIwM8AAAABIdr8lQ","number":223,"state":"closed","title":"build(deps): bump the other group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["aisecnomad"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-15T04:41:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T18:59:03.000Z","updated_at":"2026-10-15T04:41:15.000Z","time_to_close":34930,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"other","update_count":10,"packages":[{"name":"hypothesis","old_version":"6.168.3","new_version":"6.169.0","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ast-serialize","old_version":"0.11.2","new_version":"0.12.1","repository_url":"https://github.com/mypyc/ast_serialize"},{"name":"filelock","old_version":"4.0.9","new_version":"4.1.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"iniconfig","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"platformdirs","old_version":"4.12.2","new_version":"4.13.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"python-discovery","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"rpds-py","old_version":"2026.6.3","new_version":"2026.9.1","repository_url":"https://github.com/crate-py/rpds"},{"name":"tomli","old_version":"2.4.1","new_version":"2.5.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"types-requests","old_version":"2.33.0.20260906","new_version":"2.33.0.20261006","repository_url":"https://github.com/python/typeshed"},{"name":"virtualenv","old_version":"21.14.3","new_version":"21.14.6","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the other group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.3` | `6.169.0` |\n| [ast-serialize](https://github.com/mypyc/ast_serialize) | `0.11.2` | `0.12.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `4.0.9` | `4.1.1` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.3.0` | `2.3.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.12.2` | `4.13.0` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.6.1` | `1.6.2` |\n| [rpds-py](https://github.com/crate-py/rpds) | `2026.6.3` | `2026.9.1` |\n| [tomli](https://github.com/hukkin/tomli) | `2.4.1` | `2.5.0` |\n| [types-requests](https://github.com/python/typeshed) | `2.33.0.20260906` | `2.33.0.20261006` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.14.3` | `21.14.6` |\n\n\nUpdates `hypothesis` from 6.168.3 to 6.169.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/82fa40ada6bc83480a746890a40bb3d708ba8f03\"\u003e\u003ccode\u003e82fa40a\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.169.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0116655b33188ec4f32c80e43b2da34afd3deceb\"\u003e\u003ccode\u003e0116655\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4899\"\u003e#4899\u003c/a\u003e from Arjun-Aravind/fix/uv-download-metadata-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4f7ef96b165569427553bbb9303abcdf15fad227\"\u003e\u003ccode\u003e4f7ef96\u003c/code\u003e\u003c/a\u003e claude: exclude rarely-hit realize branch from coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/4d42db9a0a15a6dbf6820c09b2208cde56adea81\"\u003e\u003ccode\u003e4d42db9\u003c/code\u003e\u003c/a\u003e Update uv download-metadata URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1484f6dd4c0a220f68e2698afed29e2a16a3f654\"\u003e\u003ccode\u003e1484f6d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4896\"\u003e#4896\u003c/a\u003e from Liam-DeVoe/drop-python-3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e3e5fea000e2ad0032332a51cc4f2b462eafb31f\"\u003e\u003ccode\u003ee3e5fea\u003c/code\u003e\u003c/a\u003e claude: address review comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7c22da6b40925beedc9f38f88d00e36c8a4da7a2\"\u003e\u003ccode\u003e7c22da6\u003c/code\u003e\u003c/a\u003e claude: simplify add_note fallback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f6a8067cecc738cadb52f5d3f9e75cc93f8aff9f\"\u003e\u003ccode\u003ef6a8067\u003c/code\u003e\u003c/a\u003e claude: check ghostwriter golden outputs on 3.11 instead of 3.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.169.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ast-serialize` from 0.11.2 to 0.12.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/8d0a5c6d1c87e29aa37c7292149086b514ccac93\"\u003e\u003ccode\u003e8d0a5c6\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/a7f11b17731c0c3b9afc683e977e3faf90ba6c19\"\u003e\u003ccode\u003ea7f11b1\u003c/code\u003e\u003c/a\u003e Fix parsing plain None type in a string (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/bcf707f0d2c59a8033d2d8734849b2233f36f70d\"\u003e\u003ccode\u003ebcf707f\u003c/code\u003e\u003c/a\u003e Bump version to 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mypyc/ast_serialize/commit/89b6e832250fbc4d80739b318237f9571d6c32cc\"\u003e\u003ccode\u003e89b6e83\u003c/code\u003e\u003c/a\u003e Allow colon in error codes (\u003ca href=\"https://redirect.github.com/mypyc/ast_serialize/issues/94\"\u003e#94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mypyc/ast_serialize/compare/v0.11.2...v0.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 4.0.9 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(python): default to Python 3.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/filelock/pull/816\"\u003etox-dev/filelock#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rw): avoid macOS descriptor lookups 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/filelock/pull/820\"\u003etox-dev/filelock#820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(tests): bound concurrent lock progress 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/filelock/pull/819\"\u003etox-dev/filelock#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: make lock error checks deterministic by \u003ca href=\"https://github.com/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read-write): reject a hostile pid in _owner_is_gone by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/821\"\u003etox-dev/filelock#821\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/adenzhou1350\"\u003e\u003ccode\u003e@​adenzhou1350\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/817\"\u003etox-dev/filelock#817\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/filelock/compare/4.1.0...4.1.1\"\u003ehttps://github.com/tox-dev/filelock/compare/4.1.0...4.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: download coverage during tool setup 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/filelock/pull/776\"\u003etox-dev/filelock#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): validate timeout and poll_interval bounds 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/filelock/pull/781\"\u003etox-dev/filelock#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): accept inf and reject nan timeouts by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/779\"\u003etox-dev/filelock#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): ignore non-ASCII generation names by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/778\"\u003etox-dev/filelock#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): check start token in is_lock_held_by_us by \u003ca href=\"https://github.com/lprnmns\"\u003e\u003ccode\u003e@​lprnmns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/774\"\u003etox-dev/filelock#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): clean up marker when rollback close fails by \u003ca href=\"https://github.com/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/775\"\u003etox-dev/filelock#775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): clamp waits to threading.TIMEOUT_MAX by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/780\"\u003etox-dev/filelock#780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): treat truncated markers as malformed 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/filelock/pull/782\"\u003etox-dev/filelock#782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(acquire): keep every acquire wait within the timeout by \u003ca href=\"https://github.com/feiiiiii5\"\u003e\u003ccode\u003e@​feiiiiii5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/777\"\u003etox-dev/filelock#777\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: fix hanging example and platform claims 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/filelock/pull/783\"\u003etox-dev/filelock#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): keep peer marker on ENOSYS fallback 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/filelock/pull/785\"\u003etox-dev/filelock#785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): clear the task hold after a canceled release 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/filelock/pull/789\"\u003etox-dev/filelock#789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(api): export lease types and has_fcntl 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/filelock/pull/790\"\u003etox-dev/filelock#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): age private records by the filesystem clock 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/filelock/pull/792\"\u003etox-dev/filelock#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): surface executor shutdown as an error 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/filelock/pull/793\"\u003etox-dev/filelock#793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): expire leases on the contender's clock 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/filelock/pull/796\"\u003etox-dev/filelock#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): stop an acquire that close() overtook 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/filelock/pull/798\"\u003etox-dev/filelock#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): record claims before linking them 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/filelock/pull/787\"\u003etox-dev/filelock#787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): restore a live marker a stale break moved aside 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/filelock/pull/786\"\u003etox-dev/filelock#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): chain errors on 3.10 without exceptiongroup 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/filelock/pull/788\"\u003etox-dev/filelock#788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): release a dropped SoftFileLease 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/filelock/pull/791\"\u003etox-dev/filelock#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): keep probe fds until the last connection closes 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/filelock/pull/794\"\u003etox-dev/filelock#794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📦 build(sdist): ship docs and update SECURITY.md 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/filelock/pull/812\"\u003etox-dev/filelock#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft-rw): survive a removed generation log 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/filelock/pull/795\"\u003etox-dev/filelock#795\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): tell PID namespaces apart in the marker host 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/filelock/pull/797\"\u003etox-dev/filelock#797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): release from the finalizer and keep I/O off the loop 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/filelock/pull/800\"\u003etox-dev/filelock#800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(strict): name what blocks the lock path 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/filelock/pull/804\"\u003etox-dev/filelock#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): reject WAL databases and link beside the db 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/filelock/pull/805\"\u003etox-dev/filelock#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(read-write): track read depth per thread 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/filelock/pull/806\"\u003etox-dev/filelock#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): honour mode and tighten marker grammar 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/filelock/pull/807\"\u003etox-dev/filelock#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧪 test: drop timing races from two runner-load flakes 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/filelock/pull/809\"\u003etox-dev/filelock#809\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/tox-dev/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.2 (2026-10-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix read-lock acquisition on SQLite versions older than 3.33.0 by using \u003ccode\u003esqlite_master\u003c/code\u003e for the schema probe. :pr:\u003ccode\u003e770\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eIsADirectoryError\u003c/code\u003e (or \u003ccode\u003ePermissionError\u003c/code\u003e on Windows) for a directory lock path regardless of its write\npermissions. :pr:\u003ccode\u003e822\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix a forked child hanging at exit on PyPy when the parent forked while an\n:class:\u003ccode\u003e~filelock.AsyncReadWriteLock\u003c/code\u003e worker thread was between two operations. :pr:\u003ccode\u003e828\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHash all cache keys in the lock filename recipe so short path-like keys stay in the chosen directory. The example also\naccepts path-derived surrogate escapes and works before the cache directory exists. :pr:\u003ccode\u003e824\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.1 (2026-10-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eBound the shared-lock contention test by worker progress so slow CI machines can finish the workload. :pr:\u003ccode\u003e819\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid the macOS \u003ccode\u003e/dev/fd\u003c/code\u003e lookup implicated in a kernel panic by opening SQLite through a validated hard link.\nThe database directory must be writable and support hard links; alias creation failure raises \u003ccode\u003eOSError\u003c/code\u003e. :pr:\u003ccode\u003e820\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIgnore non-ASCII PID or start-time fields and out-of-range PIDs in \u003ccode\u003eReadWriteLock\u003c/code\u003e hard-link directory names so forged\nowners cannot abort acquisition. :pr:\u003ccode\u003e821\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e816\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.0 (2026-10-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eImport :data:\u003ccode\u003e~filelock.OwnerMode\u003c/code\u003e, :data:\u003ccode\u003e~filelock.CompromiseReason\u003c/code\u003e and :data:\u003ccode\u003e~filelock.has_fcntl\u003c/code\u003e from\n\u003ccode\u003efilelock\u003c/code\u003e. :pr:\u003ccode\u003e790\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.AcquireReturnProxy\u003c/code\u003e is generic in the lock type, so \u003ccode\u003ewith lock.acquire() as held:\u003c/code\u003e types \u003ccode\u003eheld\u003c/code\u003e as\nthe lock's own class. :pr:\u003ccode\u003e803\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA :class:\u003ccode\u003e~filelock.Timeout\u003c/code\u003e from a soft lock names a holder on another host or in another PID namespace, which no\ncontender ever reclaims. :pr:\u003ccode\u003e815\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003e~filelock.SoftFileLock.is_lock_held_by_us\u003c/code\u003e and :attr:\u003ccode\u003e~filelock.MarkerSoftFileLock.is_lock_held_by_us\u003c/code\u003e return\n\u003ccode\u003eFalse\u003c/code\u003e for a marker an earlier process with the same PID left behind. :pr:\u003ccode\u003e774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e removes its marker when writing it fails and closing the descriptor fails too, so the\nlock path no longer stays blocked. :pr:\u003ccode\u003e775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~filelock.BaseFileLock.acquire\u003c/code\u003e and :meth:\u003ccode\u003e~filelock.BaseAsyncFileLock.acquire\u003c/code\u003e no longer wait past \u003ccode\u003etimeout\u003c/code\u003e\nwhen \u003ccode\u003epoll_interval\u003c/code\u003e is longer than the time left. :pr:\u003ccode\u003e777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e ignores a generation-log entry whose name is not 20 ASCII digits, which used to\nstop its heartbeat thread or delete real generations. :pr:\u003ccode\u003e778\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.ReadWriteLock\u003c/code\u003e, :class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e and their async wrappers treat a\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/tox-dev/filelock/commit/5830a7e2c39d387ae5320bb3be1fbb2aa7742d4a\"\u003e\u003ccode\u003e5830a7e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a5fb607a8655035bb6d5ae4326637e25cf1af849\"\u003e\u003ccode\u003ea5fb607\u003c/code\u003e\u003c/a\u003e fix(read-write): reject a hostile pid in _owner_is_gone (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/821\"\u003e#821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/4c6f32f2797b2883bbcb0cca1ee81211d3e09c12\"\u003e\u003ccode\u003e4c6f32f\u003c/code\u003e\u003c/a\u003e test: make lock error checks deterministic (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f11f52357425943a6dbffd36ea1112726255f970\"\u003e\u003ccode\u003ef11f523\u003c/code\u003e\u003c/a\u003e fix(tests): bound concurrent lock progress (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5fd0c8f2e6a778da1933204e4a95bd84db9cdd43\"\u003e\u003ccode\u003e5fd0c8f\u003c/code\u003e\u003c/a\u003e fix(rw): avoid macOS descriptor lookups (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c3aaabc75ca927b2530b7264a04b965d64acf55\"\u003e\u003ccode\u003e0c3aaab\u003c/code\u003e\u003c/a\u003e feat(python): default to Python 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6c0ecc28f898f08cd0438cd489c3eaabad79a4b7\"\u003e\u003ccode\u003e6c0ecc2\u003c/code\u003e\u003c/a\u003e Release 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df06bbd640765ad3f1ed4a096cbe29e64b5592bb\"\u003e\u003ccode\u003edf06bbd\u003c/code\u003e\u003c/a\u003e 🐛 fix: close regressions since 4.0.12 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/815\"\u003e#815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/071204515d211b560d203cb68105ec06789eab46\"\u003e\u003ccode\u003e0712045\u003c/code\u003e\u003c/a\u003e 🐛 fix(read-write): refuse a database moved mid-acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/73fefc1e907457dd9bc9793eeba52f183d7f9c40\"\u003e\u003ccode\u003e73fefc1\u003c/code\u003e\u003c/a\u003e 📝 docs: point canonical and og:url at versioned pages (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/813\"\u003e#813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/4.0.9...4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `iniconfig` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/releases\"\u003einiconfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParsing values with many continuation lines is now linear instead of quadratic in time (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA leading UTF-8 BOM is now stripped when reading INI files. Files saved by Windows editors used to fail with \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInternal\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines. This is private API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe README example now uses \u003ccode\u003eIniConfig.parse()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e, thanks \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed the issue tracker link (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/74\"\u003e#74\u003c/a\u003e, thanks \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull diff:\u003c/strong\u003e \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/71\"\u003epytest-dev/iniconfig#71\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/72\"\u003epytest-dev/iniconfig#72\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix link to issues by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eparse_lines: keep values as list of lines, join once by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/78\"\u003epytest-dev/iniconfig#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/73\"\u003epytest-dev/iniconfig#73\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff autofix by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/80\"\u003epytest-dev/iniconfig#80\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use parse API in the README example by \u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip leading UTF-8 BOM when reading INI files by \u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echangelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/81\"\u003epytest-dev/iniconfig#81\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/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/74\"\u003epytest-dev/iniconfig#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MbappeWU\"\u003e\u003ccode\u003e@​MbappeWU\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/79\"\u003epytest-dev/iniconfig#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pitchfork-and-Torch\"\u003e\u003ccode\u003e@​Pitchfork-and-Torch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/76\"\u003epytest-dev/iniconfig#76\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.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/pytest-dev/iniconfig/blob/main/CHANGELOG\"\u003einiconfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003efix quadratic parse time for values with many continuation lines (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e, regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/77\"\u003e#77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estrip a leading UTF-8 BOM when reading INI files, which previously raised \u003ccode\u003eParseError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einternal: \u003ccode\u003einiconfig._parse.ParsedLine.value\u003c/code\u003e is now a list of lines\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/316fbfaf2752d89326e1e75b45cd070f5b5ace9a\"\u003e\u003ccode\u003e316fbfa\u003c/code\u003e\u003c/a\u003e changelog: add BOM stripping (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e) to 2.3.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/d2dcb7289291e7e7019c183659814d42f7264b2d\"\u003e\u003ccode\u003ed2dcb72\u003c/code\u003e\u003c/a\u003e Strip leading UTF-8 BOM when reading INI files (\u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/76\"\u003e#76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/40d8c03a1553953350d787e45f1cb768e2c14e6a\"\u003e\u003ccode\u003e40d8c03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/79\"\u003e#79\u003c/a\u003e from MbappeWU/codex/docs-parse-inline-comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/48359c3a7c2c8648a134ea8469e802b5aa8d5030\"\u003e\u003ccode\u003e48359c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/80\"\u003e#80\u003c/a\u003e from pytest-dev/claude/fix-iniconfig-test-eukh2n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/b153213a011fa92f4370c83cef614cf73c987f57\"\u003e\u003ccode\u003eb153213\u003c/code\u003e\u003c/a\u003e test: expect sorted \u003cstrong\u003eall\u003c/strong\u003e after ruff RUF022 autofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/4fddfabc850afee28178931c62535ba1c2b30c72\"\u003e\u003ccode\u003e4fddfab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/73\"\u003e#73\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/15852c2d1f9178ff960bf6c39a6f0f1495f1009e\"\u003e\u003ccode\u003e15852c2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/2e68639c3f41ea5b693f89807172cf304c94fb9e\"\u003e\u003ccode\u003e2e68639\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/23c9e088a909f16d0d8dc03b5090c66964c428b0\"\u003e\u003ccode\u003e23c9e08\u003c/code\u003e\u003c/a\u003e docs: use parse API in the README example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/e038536fbee6b5e76b180fce6694fd54661ced12\"\u003e\u003ccode\u003ee038536\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/78\"\u003e#78\u003c/a\u003e from RonnyPfannschmidt/claude/dazzling-einstein-h8zq7m\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `platformdirs` from 4.12.2 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/platformdirs/releases\"\u003eplatformdirs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: recognize Homebrew Cellar framework prefixes by \u003ca href=\"https://github.com/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): require 3.11 and default to 3.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/platformdirs/pull/613\"\u003etox-dev/platformdirs#613\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/sricharanreddycheruku\"\u003e\u003ccode\u003e@​sricharanreddycheruku\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/612\"\u003etox-dev/platformdirs#612\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/platformdirs/compare/4.12.4...4.13.0\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.4...4.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.12.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: download coverage during tool setup 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/platformdirs/pull/609\"\u003etox-dev/platformdirs#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): keep root's site dir readable in place_*_file by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/610\"\u003etox-dev/platformdirs#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: fall back from unreachable runtime directory with ensure_exists by \u003ca href=\"https://github.com/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/611\"\u003etox-dev/platformdirs#611\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/harbinresearcher\"\u003e\u003ccode\u003e@​harbinresearcher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/611\"\u003etox-dev/platformdirs#611\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/platformdirs/compare/4.12.3...4.12.4\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.3...4.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.12.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePlace root config and data files in the first site directory by \u003ca href=\"https://github.com/PDGGK\"\u003e\u003ccode\u003e@​PDGGK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/607\"\u003etox-dev/platformdirs#607\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/PDGGK\"\u003e\u003ccode\u003e@​PDGGK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/pull/607\"\u003etox-dev/platformdirs#607\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/platformdirs/compare/4.12.2...4.12.3\"\u003ehttps://github.com/tox-dev/platformdirs/compare/4.12.2...4.12.3\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/platformdirs/blob/main/docs/changelog.rst\"\u003eplatformdirs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.13.0 (2026-10-10)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eDetect Homebrew Python for the :class:\u003ccode\u003e~platformdirs.macos.MacOS\u003c/code\u003e site directories under :option:\u003ccode\u003epython:-S\u003c/code\u003e, which\nleaves :data:\u003ccode\u003esys.base_prefix\u003c/code\u003e on the \u003ccode\u003eCellar\u003c/code\u003e keg, and for the \u003ccode\u003epython-freethreading\u003c/code\u003e formula - by\n:user:\u003ccode\u003esricharanreddycheruku\u003c/code\u003e. :pr:\u003ccode\u003e612\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e613\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.4 (2026-10-07)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep site directories readable by other users when root calls\n:meth:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.place_config_file\u003c/code\u003e or another \u003ccode\u003eplace_*_file\u003c/code\u003e method with\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.use_site_for_root\u003c/code\u003e - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. :pr:\u003ccode\u003e610\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake :func:\u003ccode\u003e~platformdirs.user_runtime_dir\u003c/code\u003e warn and fall back from an unreachable \u003ccode\u003eXDG_RUNTIME_DIR\u003c/code\u003e under\n:attr:\u003ccode\u003e~platformdirs.api.PlatformDirsABC.ensure_exists\u003c/code\u003e instead of raising. :pr:\u003ccode\u003e611\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.3 (2026-10-03)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003ePlace files from \u003ccode\u003eplace_config_file\u003c/code\u003e and \u003ccode\u003eplace_data_file\u003c/code\u003e in the first site directory for root on Unix with\n\u003ccode\u003euse_site_for_root=True\u003c/code\u003e and \u003ccode\u003emultipath=True\u003c/code\u003e, where \u003ccode\u003efind_config_file\u003c/code\u003e and \u003ccode\u003efind_data_file\u003c/code\u003e look for them.\n:pr:\u003ccode\u003e607\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.2 (2026-09-29)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eKeep \u003ccode\u003eos.pathsep\u003c/code\u003e in \u003ccode\u003esite_applications_path\u003c/code\u003e under \u003ccode\u003emultipath=True\u003c/code\u003e on platforms with one applications\ndirectory. :pr:\u003ccode\u003e604\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.1 (2026-09-28)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003ePytestAssertRewriteWarning\u003c/code\u003e when importing \u003ccode\u003eplatformdirs\u003c/code\u003e before invoking pytest. :pr:\u003ccode\u003e601\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.12.0 (2026-09-26)\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/tox-dev/platformdirs/commit/f05fb4ef31f38dfc316802c5301db972fd75468e\"\u003e\u003ccode\u003ef05fb4e\u003c/code\u003e\u003c/a\u003e Release 4.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/b3174fdd4e80c83d72cf723fd2a7bb6cb54cbd5f\"\u003e\u003ccode\u003eb3174fd\u003c/code\u003e\u003c/a\u003e feat(python): require 3.11 and default to 3.15 (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/d7eb4fe34231df80a6b1c7abc362aa504feddbf1\"\u003e\u003ccode\u003ed7eb4fe\u003c/code\u003e\u003c/a\u003e fix: recognize Homebrew Cellar framework prefixes (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/19338a4fdfc0cdd6b5342ec137efd9e5613d67d2\"\u003e\u003ccode\u003e19338a4\u003c/code\u003e\u003c/a\u003e Release 4.12.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/f2a4fa944f3637c8e7aa1fe8e95c9adfefe8ed2c\"\u003e\u003ccode\u003ef2a4fa9\u003c/code\u003e\u003c/a\u003e fix: fall back from unreachable runtime directory with ensure_exists (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/611\"\u003e#611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/16429e2135fa70b314ef69fa7da4d5e746eb75c9\"\u003e\u003ccode\u003e16429e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(api): keep root's site dir readable in place_*_file (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/b9735d3c9f4a0b5ca4dafc15b53541fe3973f453\"\u003e\u003ccode\u003eb9735d3\u003c/code\u003e\u003c/a\u003e ci: download coverage during tool setup (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/344f2497bce1fba7838ef112f2bd91e9d5f23b58\"\u003e\u003ccode\u003e344f249\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/960ff632eb575deb6f0d5bf49519d5a2ee2098b6\"\u003e\u003ccode\u003e960ff63\u003c/code\u003e\u003c/a\u003e Release 4.12.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/platformdirs/commit/8047ad5bf0e5fd3db9c8ce9f250f73c3d961fe19\"\u003e\u003ccode\u003e8047ad5\u003c/code\u003e\u003c/a\u003e Place root config and data files in the first site directory (\u003ca href=\"https://redirect.github.com/tox-dev/platformdirs/issues/607\"\u003e#607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/platformdirs/compare/4.12.2...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-discovery` from 1.6.1 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/releases\"\u003epython-discovery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ignore broken sphinx-llm release 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/python-discovery/pull/134\"\u003etox-dev/python-discovery#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e👷 ci: pin ubuntu-26.04 and bump dependencies 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/python-discovery/pull/138\"\u003etox-dev/python-discovery#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run old Python checks in parallel 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/python-discovery/pull/140\"\u003etox-dev/python-discovery#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): default to 3.15 and match virtualenv 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/python-discovery/pull/142\"\u003etox-dev/python-discovery#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cache): discard unusable interpreter cache entries by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(query): validate PY_DISCOVERY_TIMEOUT by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/143\"\u003etox-dev/python-discovery#143\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/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/pull/141\"\u003etox-dev/python-discovery#141\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/python-discovery/compare/1.6.1...1.6.2\"\u003ehttps://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/python-discovery/blob/main/docs/changelog.rst\"\u003epython-discovery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBug fixes - 1.6.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDiscard malformed interpreter cache entries and query the interpreter again, including entries with missing,\nnon-string or unusable \u003ccode\u003esystem_executable\u003c/code\u003e paths - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse the default interpreter query timeout and warn for invalid \u003ccode\u003ePY_DISCOVERY_TIMEOUT\u003c/code\u003e values. Accept \u003ccode\u003einf\u003c/code\u003e\nor values above the subprocess wait limit to disable the timeout - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e. (:issue:\u003ccode\u003e143\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev1.6.1 (2026-09-18)\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/python-discovery/commit/4fe2ade736e5191de42ca3d4a0b8bf672ffc5652\"\u003e\u003ccode\u003e4fe2ade\u003c/code\u003e\u003c/a\u003e release 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/60ddef109aafdd6d54aa25c8057a569c76e3dba2\"\u003e\u003ccode\u003e60ddef1\u003c/code\u003e\u003c/a\u003e fix(query): validate PY_DISCOVERY_TIMEOUT (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/eb1eab726924245c533ad867d1b4bcc4c47b6d2a\"\u003e\u003ccode\u003eeb1eab7\u003c/code\u003e\u003c/a\u003e fix(cache): discard unusable interpreter cache entries (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/db810b8206339892c0cd15f000b8e18860a8b913\"\u003e\u003ccode\u003edb810b8\u003c/code\u003e\u003c/a\u003e feat(python): default to 3.15 and match virtualenv (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/142\"\u003e#142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/614afa4adaa5fb36daf38919e3c407af71f3260b\"\u003e\u003ccode\u003e614afa4\u003c/code\u003e\u003c/a\u003e ci: run old Python checks in parallel (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/9148aa454b276b5745d56bb2a42bdc8f26ee7f55\"\u003e\u003ccode\u003e9148aa4\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/a69c0d9139ff0f1276d318d75d25d59cbc172bf4\"\u003e\u003ccode\u003ea69c0d9\u003c/code\u003e\u003c/a\u003e 👷 ci: pin ubuntu-26.04 and bump dependencies (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/138\"\u003e#138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/c8fcbf599ac401c8b1ad793187b28e45ccd1ffc8\"\u003e\u003ccode\u003ec8fcbf5\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/f0b3a2030c57a4f9217cd6ab09f837123ad0bc17\"\u003e\u003ccode\u003ef0b3a20\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/python-discovery/issues/136\"\u003e#136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/python-discovery/commit/b4eea32e584c0c1f08c9ad4b9f5850cb8c2275da\"\u003e\u003ccode\u003eb4eea32\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv from 10.0.1 to 10.1.0 in the github-acti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/python-discovery/compare/1.6.1...1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rpds-py` from 2026.6.3 to 2026.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/fc7a1853152f23ee056c07fc97bb2a63557553ed\"\u003e\u003ccode\u003efc7a185\u003c/code\u003e\u003c/a\u003e Release rpds-py version 2026.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/d19ef61c41045976356e869a0490c40e11b701f7\"\u003e\u003ccode\u003ed19ef61\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/311\"\u003e#311\u003c/a\u003e from edgarrmondragon/pypy312\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/47ac82fa8f7303d3a72dac0d336f0a7792631f18\"\u003e\u003ccode\u003e47ac82f\u003c/code\u003e\u003c/a\u003e Bump PyO3 to 0.29.3 and start building PyPy 3.12 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/cf0900dee2eb945f38124893c306116829215b2b\"\u003e\u003ccode\u003ecf0900d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/308\"\u003e#308\u003c/a\u003e from crate-py/dependabot/github_actions/github/codeql...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/204fd02dd2c1c7c1efa722dc151be68e865a60de\"\u003e\u003ccode\u003e204fd02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/309\"\u003e#309\u003c/a\u003e from crate-py/dependabot/github_actions/astral-sh/set...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/264fdef59c9c85a0d9ff1ff603cfc7f15739d169\"\u003e\u003ccode\u003e264fdef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/310\"\u003e#310\u003c/a\u003e from crate-py/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/5ddee5c339c87c591b3ed85b848a677e5f43ddc5\"\u003e\u003ccode\u003e5ddee5c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/9fe33188f058b7686775737bc839ec076956ec21\"\u003e\u003ccode\u003e9fe3318\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 10.1.0 to 10.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/2302c70d7db939ce0fc77215923a790179a21e0f\"\u003e\u003ccode\u003e2302c70\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action/upload-sarif from 4.38.0 to 4.38.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crate-py/rpds/commit/93bbcbbb62008402aecfdbd8830377d1e2270514\"\u003e\u003ccode\u003e93bbcbb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/crate-py/rpds/issues/305\"\u003e#305\u003c/a\u003e from crate-py/dependabot/github_actions/astral-sh/set...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crate-py/rpds/compare/v2026.6.3...v2026.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tomli` from 2.4.1 to 2.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hukkin/tomli/blob/master/CHANGELOG.md\"\u003etomli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded\n\u003cul\u003e\n\u003cli\u003eBinary wheels for Python 3.15\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eSet nested inline array/table limit to 400 to fix mypyc generated binaries crashing unrecoverably in constrained environments (e.g. worker thread in a \u003ccode\u003epython:3.13-alpine\u003c/code\u003e image)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed\n\u003cul\u003e\n\u003cli\u003eBackport: Limit number of parts of a TOML key to address quadratic time complexity\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/a2a578949199336ebc3884eeba4aede87da41ef2\"\u003e\u003ccode\u003ea2a5789\u003c/code\u003e\u003c/a\u003e Bump version: 2.4.1 → 2.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/94a60819c4f0b244829513f19f3caf64ef16b466\"\u003e\u003ccode\u003e94a6081\u003c/code\u003e\u003c/a\u003e Add 2.5.0 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/85f8748d51e42f4bb1f4969e3911fa8e52eaa7b5\"\u003e\u003ccode\u003e85f8748\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/70fd4609dd97ea30ade101a4c8deb37ff2d694ed\"\u003e\u003ccode\u003e70fd460\u003c/code\u003e\u003c/a\u003e Allow flit_core v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/00d06107cad00485e1d4eb0b51a2ec3980d52c1c\"\u003e\u003ccode\u003e00d0610\u003c/code\u003e\u003c/a\u003e Update pre-commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/eb93c1225a5540e61a3a4054673e364fc6efe307\"\u003e\u003ccode\u003eeb93c12\u003c/code\u003e\u003c/a\u003e Improve tomllib compatibility and sync docs (\u003ca href=\"https://redirect.github.com/hukkin/tomli/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/18d8d59db6d632ebbcfe63f1f7636145d652da21\"\u003e\u003ccode\u003e18d8d59\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel for Python 3.15 wheels (\u003ca href=\"https://redirect.github.com/hukkin/tomli/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/1e6e869aa9dbbddc492608944e82d9ad5397280f\"\u003e\u003ccode\u003e1e6e869\u003c/code\u003e\u003c/a\u003e Set smaller MAX_INLINE_NESTING to avoid python:3.13-alpine worker thread crash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/c3299981db699cacabbd6edd0e32934f5e3e600b\"\u003e\u003ccode\u003ec329998\u003c/code\u003e\u003c/a\u003e Use Trusted Publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hukkin/tomli/commit/ba611c5a97da9226533e3c39d5c46c0b55b80acb\"\u003e\u003ccode\u003eba611c5\u003c/code\u003e\u003c/a\u003e Add zizmor security scanner to pre-commit (\u003ca href=\"https://redirect.github.com/hukkin/tomli/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hukkin/tomli/compare/2.4.1...2.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-requests` from 2.33.0.20260906 to 2.33.0.20261006\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typeshed/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `virtualenv` from 21.14.3 to 21.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/virtualenv/releases\"\u003evirtualenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.14.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e👷 ci: pin ubuntu-26.04, clear warnings, bump deps by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3378\"\u003epypa/virtualenv#3378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(ci): defer upgrades blocked by release age by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3379\"\u003epypa/virtualenv#3379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: overlap release transfers and verification by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3382\"\u003epypa/virtualenv#3382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(seed): guard every embed update log read, not just one by \u003ca href=\"https://github.com/darrenhuai\"\u003e\u003ccode\u003e@​darrenhuai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3383\"\u003epypa/virtualenv#3383\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.5...21.14.6\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.5...21.14.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e21.14.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 style(test): mark prompt fixture locals Final by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3374\"\u003epypa/virtualenv#3374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🎨 style: give every Final annotation its type by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3375\"\u003epypa/virtualenv#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): dump stacks from a thread that holds the GIL by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3377\"\u003epypa/virtualenv#3377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset the embed update log when it cannot be read by \u003ca href=\"https://github.com/pasmud\"\u003e\u003ccode\u003e@​pasmud\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3376\"\u003epypa/virtualenv#3376\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.4...21.14.5\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.4...21.14.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e21.14.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade embedded pip/setuptools/wheel and CI test tools by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3372\"\u003epypa/virtualenv#3372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(changelog): note the zsh prompt fix by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/virtualenv/pull/3373\"\u003epypa/virtualenv#3373\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.3...21.14.4\"\u003ehttps://github.com/pypa/virtualenv/compare/21.14.3...21.14.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/pypa/virtualenv/blob/main/docs/changelog.rst\"\u003evirtualenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBugfixes - 21.14.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to the bundled seed wheel with periodic update on (the default) when the embed update log holds JSON of the\nwrong shape, instead of downloading the wheel or, offline, failing to create the environment - by :user:\u003ccode\u003edarrenhuai\u003c/code\u003e.\n(:issue:\u003ccode\u003e3383\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.5 (2026-10-02)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003eBugfixes - 21.14.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to the bundled seed wheel and remove the embed update log when the log in the app data folder holds JSON of\nthe wrong shape, instead of failing to create the environment - by :user:\u003ccode\u003epasmud\u003c/code\u003e. (:issue:\u003ccode\u003e3376\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.4 (2026-10-02)\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003eBugfixes - 21.14.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eactivate\u003c/code\u003e running commands from a virtual environment name or \u003ccode\u003e--prompt\u003c/code\u003e that holds \u003ccode\u003e$(...)\u003c/code\u003e, backticks or\n\u003ccode\u003e${...}\u003c/code\u003e when zsh has \u003ccode\u003ePROMPT_SUBST\u003c/code\u003e set, and show a \u003ccode\u003e%\u003c/code\u003e in the name as typed under zsh (\u003ccode\u003eGHSA-5vjq-rrrf-7h2q \u0026lt;https://github.com/pypa/virtualenv/security/advisories/GHSA-5vjq-rrrf-7h2q\u0026gt;\u003c/code\u003e_); reported by :user:\u003ccode\u003ekemrec\u003c/code\u003e.\n(:issue:\u003ccode\u003e3373\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003ev21.14.3 (2026-10-01)\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/pypa/virtualenv/commit/9e69ac725fd4dc83726536c084ab9ca4f099c5b6\"\u003e\u003ccode\u003e9e69ac7\u003c/code\u003e\u003c/a\u003e release 21.14.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/464c34b696c81190cd1ad6589158f6ce59467351\"\u003e\u003ccode\u003e464c34b\u003c/code\u003e\u003c/a\u003e 🐛 fix(seed): guard every embed update log read, not just one (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3383\"\u003e#3383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/3f56d7f4b88884296249b83889d717c41ed6e668\"\u003e\u003ccode\u003e3f56d7f\u003c/code\u003e\u003c/a\u003e ci: overlap release transfers and verification (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3382\"\u003e#3382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/7577efd46b0e62c5edbd803ded2788eb6d48f5ca\"\u003e\u003ccode\u003e7577efd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the runtime-dependencies group with 10 updates (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3381\"\u003e#3381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/f6d172367b48d5138fcab911ff8fdd86b4e8cdaf\"\u003e\u003ccode\u003ef6d1723\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3380\"\u003e#3380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/7c56749d7b3065f6a99b21fd61089ba692e4aaec\"\u003e\u003ccode\u003e7c56749\u003c/code\u003e\u003c/a\u003e fix(ci): defer upgrades blocked by release age (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3379\"\u003e#3379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/95d02526dc5f2c569767d8ee572f72f571b8a6ce\"\u003e\u003ccode\u003e95d0252\u003c/code\u003e\u003c/a\u003e 👷 ci: pin ubuntu-26.04, clear warnings, bump deps (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69\"\u003e\u003ccode\u003e571bc20\u003c/code\u003e\u003c/a\u003e release 21.14.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/5b9b7de4f2f850d94deec4d5a9764e7b879e8865\"\u003e\u003ccode\u003e5b9b7de\u003c/code\u003e\u003c/a\u003e Reset the embed update log when it cannot be read (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3376\"\u003e#3376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/virtualenv/commit/9fd48c89ad6986d37d20598fd3d8bb5eee94ecba\"\u003e\u003ccode\u003e9fd48c8\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): dump stacks from a thread that holds the GIL (\u003ca href=\"https://redirect.github.com/pypa/virtualenv/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/virtualenv/compare/21.14.3...21.14.6\"\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/aisecnomad/Nexus-ShadowScan/pull/223","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aisecnomad%2FNexus-ShadowScan/issues/223","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/223/packages"}},{"old_version":"6.168.0","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-14T11:37:09.000Z","version_change":"6.168.0 → 6.168.5","issue":{"uuid":"5847066591","node_id":"PR_kwDOQgt8688AAAABIYPt2A","number":623,"state":"open","title":"Build(deps-dev): bump the minor-and-patch group across 1 directory 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-10-14T11:37:09.000Z","updated_at":"2026-10-14T11:37:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): bump","group_name":"minor-and-patch","update_count":6,"packages":[{"name":"crosshair-tool","old_version":"0.0.110","new_version":"0.0.111","repository_url":"https://github.com/pschanely/CrossHair"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"hypothesis-crosshair","old_version":"0.0.30","new_version":"0.0.31","repository_url":"https://github.com/pschanely/hypothesis-crosshair"},{"name":"pytest","old_version":"9.0.3","new_version":"9.1.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.16.4","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.74","new_version":"0.0.85","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [crosshair-tool](https://github.com/pschanely/CrossHair) | `0.0.110` | `0.0.111` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [hypothesis-crosshair](https://github.com/pschanely/hypothesis-crosshair) | `0.0.30` | `0.0.31` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.4` | `0.16.10` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.74` | `0.0.85` |\n\n\nUpdates `crosshair-tool` from 0.0.110 to 0.0.111\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pschanely/CrossHair/releases\"\u003ecrosshair-tool's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.0.111\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://crosshair.readthedocs.io/en/latest/changelog.html#version-0-0-111\"\u003ethe changelog\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/14f69eb740df8914fbdde3b8c7f398c696053c01\"\u003e\u003ccode\u003e14f69eb\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/733b2580bf2925317d2dab570851fa25e37a8a30\"\u003e\u003ccode\u003e733b258\u003c/code\u003e\u003c/a\u003e Fall back to process-wide instruction events beside another instruction tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/2a8066a084403c4f8215c7e6da7fcef156c137c7\"\u003e\u003ccode\u003e2a8066a\u003c/code\u003e\u003c/a\u003e Enable instruction monitoring per code object instead of process-wide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/3b9c6a2233de98867fd807e9fefe2ff2524a44ad\"\u003e\u003ccode\u003e3b9c6a2\u003c/code\u003e\u003c/a\u003e Add an xfail test for is_integer() on non-finite IEEE-modeled floats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/aa268bb36e6f89019a6d783f881a27a917e327de\"\u003e\u003ccode\u003eaa268bb\u003c/code\u003e\u003c/a\u003e Compute float powers concretely unless the exponent is a small integer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/0cdf66b74ae20c8729f98a8a355129c06ca1462d\"\u003e\u003ccode\u003e0cdf66b\u003c/code\u003e\u003c/a\u003e Use inline expression instead of helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/4c758a2a037a3d9a7e50efc47eac75f08f3105a6\"\u003e\u003ccode\u003e4c758a2\u003c/code\u003e\u003c/a\u003e Compare symbolic strings and bytes to literals with one branch, not one per c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/190a73d261057e2f1009256e4004a60e2cfab74d\"\u003e\u003ccode\u003e190a73d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pschanely/CrossHair/issues/527\"\u003e#527\u003c/a\u003e from KRRT7/regex-lazy-slice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/f510c8ecb24c571774f62f54bcfdcb48c88f7985\"\u003e\u003ccode\u003ef510c8e\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into regex-lazy-slice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pschanely/CrossHair/commit/d05c0d085d6958563ffad79af8adf6b61ac99117\"\u003e\u003ccode\u003ed05c0d0\u003c/code\u003e\u003c/a\u003e Merge changelog.rst with the union driver\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pschanely/CrossHair/compare/v0.0.110...v0.0.111\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.0 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis-crosshair` from 0.0.30 to 0.0.31\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pschanely/hypothesis-crosshair/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.3 to 9.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.1.1 (2026-06-19)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14220\"\u003e#14220\u003c/a\u003e: Fixed a logic bug in \u003ccode\u003epytest.RaisesGroup\u003c/code\u003e which would might cause it to display incorrect \u0026quot;It matches \u003c!-- raw HTML omitted --\u003eFooError()\u003c!-- raw HTML omitted --\u003e which was paired with \u003c!-- raw HTML omitted --\u003eBarError\u003c!-- raw HTML omitted --\u003e\u0026quot; messages.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14591\"\u003e#14591\u003c/a\u003e: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/pytest\"\u003e\u003ccode\u003e@​pytest\u003c/code\u003e\u003c/a\u003e.mark.parametrize\u003c!-- raw HTML omitted --\u003e to fail with \u0026quot;duplicate parametrization of '\u0026lt;fixture name\u0026gt;'\u0026quot;.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14606\"\u003e#14606\u003c/a\u003e: Fixed \u003ccode\u003elist-item\u003c/code\u003e typing errors from mypy in \u003ccode\u003e@pytest.mark.parametrize \u0026lt;pytest.mark.parametrize ref\u0026gt;\u003c/code\u003e \u003ccode\u003eargvalues\u003c/code\u003e parameter.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14608\"\u003e#14608\u003c/a\u003e: Fixed a regression in pytest 9.1.0 where \u003ccode\u003econftest.py\u003c/code\u003e files located in \u003ccode\u003e\u0026lt;invocation dir\u0026gt;/test*\u003c/code\u003e were no longer loaded as initial conftests when invoked without arguments.\nThis could cause certain hooks (like \u003ccode\u003epytest_addoption\u003c/code\u003e) in these files to not fire.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.0\u003c/h2\u003e\n\u003ch1\u003epytest 9.1.0 (2026-06-13)\u003c/h1\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14533\"\u003e#14533\u003c/a\u003e: When using \u003ccode\u003e--doctest-modules\u003c/code\u003e, autouse fixtures with \u003ccode\u003emodule\u003c/code\u003e, \u003ccode\u003epackage\u003c/code\u003e or \u003ccode\u003esession\u003c/code\u003e scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.\u003c/p\u003e\n\u003cp\u003eIf this is undesirable, move the fixture definition to a \u003ccode\u003econftest.py\u003c/code\u003e file if possible.\u003c/p\u003e\n\u003cp\u003eTechnical explanation for those interested:\nWhen using \u003c!-- raw HTML omitted --\u003e--doctest-modules\u003c!-- raw HTML omitted --\u003e, pytest possibly collects Python modules twice, once as \u003ccode\u003epytest.Module\u003c/code\u003e and once as a \u003ccode\u003eDoctestModule\u003c/code\u003e (depending on the configuration).\nDue to improvements in pytest's fixture implementation, if e.g. the \u003ccode\u003eDoctestModule\u003c/code\u003e collects a fixture, it is now visible to it only, and not to the \u003ccode\u003eModule\u003c/code\u003e.\nThis means that both need to register the fixtures independently.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations (removal in next major release)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/10819\"\u003e#10819\u003c/a\u003e: Added a deprecation warning for class-scoped fixtures defined as instance methods (without \u003ccode\u003e@classmethod\u003c/code\u003e). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use \u003ccode\u003e@classmethod\u003c/code\u003e decorator instead -- by \u003ccode\u003eyastcher\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003e10819\u003c/code\u003e and \u003ccode\u003e14011\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12882\"\u003e#12882\u003c/a\u003e: Calling \u003ccode\u003erequest.getfixturevalue() \u0026lt;pytest.FixtureRequest.getfixturevalue\u0026gt;\u003c/code\u003e during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003edynamic-fixture-request-during-teardown\u003c/code\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13409\"\u003e#13409\u003c/a\u003e: Using non-\u003ccode\u003e~collections.abc.Collection\u003c/code\u003e iterables (such as generators, iterators, or custom iterable objects) for the \u003ccode\u003eargvalues\u003c/code\u003e parameter in \u003ccode\u003e@pytest.mark.parametrize \u0026lt;pytest.mark.parametrize ref\u0026gt;\u003c/code\u003e and \u003ccode\u003emetafunc.parametrize \u0026lt;pytest.Metafunc.parametrize\u0026gt;\u003c/code\u003e is now deprecated.\u003c/p\u003e\n\u003cp\u003eThese iterables get exhausted after the first iteration,\nleading to tests getting unexpectedly skipped in cases such as running \u003ccode\u003epytest.main()\u003c/code\u003e multiple times,\nusing class-level parametrize decorators,\nor collecting tests multiple times.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003eparametrize-iterators\u003c/code\u003e for details and suggestions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute is now deprecated.\nUse \u003ccode\u003econfig.getini() \u0026lt;pytest.Config.getini\u0026gt;\u003c/code\u003e to access configuration values instead.\u003c/p\u003e\n\u003cp\u003eSee \u003ccode\u003econfig-inicfg\u003c/code\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14004\"\u003e#14004\u003c/a\u003e: Passing \u003ccode\u003ebaseid\u003c/code\u003e to \u003ccode\u003e~pytest.FixtureDef\u003c/code\u003e or \u003ccode\u003enodeid\u003c/code\u003e strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/cf470ec0bf7eb89cd97dd56df4859eae5db46447\"\u003e\u003ccode\u003ecf470ec\u003c/code\u003e\u003c/a\u003e Prepare release version 9.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/e0c8ce6cc5db1f08363be6f152c32e6838df2690\"\u003e\u003ccode\u003ee0c8ce6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14625\"\u003e#14625\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/a07c31a97...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/1b82d1694fce22385ee7a4287917fbafbaf2e757\"\u003e\u003ccode\u003e1b82d16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14624\"\u003e#14624\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/b375b79ec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/501c4bc784da3b08bfcaa64858eba5d15dc59e53\"\u003e\u003ccode\u003e501c4bc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14596\"\u003e#14596\u003c/a\u003e from bluetech/doc-classmethod\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b61f588e36e9377c3d1d3f06bece1da0fc31d9ca\"\u003e\u003ccode\u003eb61f588\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14622\"\u003e#14622\u003c/a\u003e from chrisburr/fix-14608-initial-conftest-test-subdir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/9a567e009f4d2da3ce1721c6db3109cb5744d40a\"\u003e\u003ccode\u003e9a567e0\u003c/code\u003e\u003c/a\u003e [automated] Update plugin list (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14617\"\u003e#14617\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14618\"\u003e#14618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ef8b2993e5b48639e4a3d97d0525df9760781384\"\u003e\u003ccode\u003eef8b299\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14620\"\u003e#14620\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/680f9f3ed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/66abd0784d4cb7c1ba44ab9a8896506cd4985acc\"\u003e\u003ccode\u003e66abd07\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14220\"\u003e#14220\u003c/a\u003e from bysiber/fix-stale-iexp-raisesgroup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/79fbf93b666cac5f27c9dad047943d47b766c8d5\"\u003e\u003ccode\u003e79fbf93\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14612\"\u003e#14612\u003c/a\u003e from pytest-dev/patchback/backports/9.1.x/974ed48b6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0d312eb876177e9f1c04262b54060a41034ebf5c\"\u003e\u003ccode\u003e0d312eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14611\"\u003e#14611\u003c/a\u003e from bluetech/parametrize-argvalues-typing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.3...9.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.16.4 to 0.16.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.16.10\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.16.10\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/ruff/blob/0.16.10/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-09-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid false positives for overloaded division (\u003ccode\u003eRUF069\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28309\"\u003e#28309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Avoid false positives for calls with keyword arguments (\u003ccode\u003eB009\u003c/code\u003e, \u003ccode\u003eB010\u003c/code\u003e, \u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28776\"\u003e#28776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow lazy imports to be used in deferred annotations (\u003ccode\u003eTID255\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28767\"\u003e#28767\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LibCST-based fixes for Python 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28616\"\u003e#28616\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/3265ed1f944c98bb4c04d632fbefb1257cdb583d\"\u003e\u003ccode\u003e3265ed1\u003c/code\u003e\u003c/a\u003e Bump version to 0.16.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29055\"\u003e#29055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e786964450e75d904c288a1e59ae2b196d0b9c47\"\u003e\u003ccode\u003ee786964\u003c/code\u003e\u003c/a\u003e Authorize shared PR security-review workflow to publish findings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29052\"\u003e#29052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a81291e9db2f67039d159e7490b988e6c25c7a0f\"\u003e\u003ccode\u003ea81291e\u003c/code\u003e\u003c/a\u003e [ty] Defer uv workspace discovery until after project configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28525\"\u003e#28525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6a74d26cbe6b45b3eb2992041714461bd4ceb5b\"\u003e\u003ccode\u003eb6a74d2\u003c/code\u003e\u003c/a\u003e [ty] Refresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/41d30df6fdbe215390b3acb46e8cd4017f65580d\"\u003e\u003ccode\u003e41d30df\u003c/code\u003e\u003c/a\u003e Update Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29047\"\u003e#29047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/317e0a3ab75878eba6e3b78c57f73d47108e2a8e\"\u003e\u003ccode\u003e317e0a3\u003c/code\u003e\u003c/a\u003e [ty] Bound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8546752d9d5dac8da78c8abba380600cfe573874\"\u003e\u003ccode\u003e8546752\u003c/code\u003e\u003c/a\u003e [ty] Fix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/56180bcf800d6e45fb1c4b4113e97501b8f128c5\"\u003e\u003ccode\u003e56180bc\u003c/code\u003e\u003c/a\u003e [ty] Specialize instance members once (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29043\"\u003e#29043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aa9a1ff88aa83b3f01360ef5b3cb04b2be187206\"\u003e\u003ccode\u003eaa9a1ff\u003c/code\u003e\u003c/a\u003e [ty] Avoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2d253467b5153f82d26c51d49eb8d4156f1768bf\"\u003e\u003ccode\u003e2d25346\u003c/code\u003e\u003c/a\u003e [ty] Improve \u003ccode\u003eunresolved-import\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29039\"\u003e#29039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.4...0.16.10\"\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.74 to 0.0.85\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.85\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-06.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recursive lambda class decorator panics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28984\"\u003e#28984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompare observable notebook state for equality (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28874\"\u003e#28874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect recursive alias cycles through intersections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28916\"\u003e#28916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchoring of include and exclude patterns after the project's root changed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28995\"\u003e#28995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow when inferring dynamic class metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28917\"\u003e#28917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive dataclass transform metadata (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28920\"\u003e#28920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive TypedDicts during cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28918\"\u003e#28918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve cycle markers in ParamSpec specialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29024\"\u003e#29024\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrefer existing @ paths over response files in Ruff and ty (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28877\"\u003e#28877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd namespace package support to import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28202\"\u003e#28202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eContain rendered code within Markdown fences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28869\"\u003e#28869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh Python settings when virtual environments change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28650\"\u003e#28650\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostic improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in \u003ccode\u003etruthiness-test-of-none-union\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28889\"\u003e#28889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid \u003ccode\u003edisjoint-cast\u003c/code\u003e diagnostics in situations where the value could have been inferred as being compatible with the casted type if it had only been inferred with the right type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28851\"\u003e#28851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplain outdated uv versions in metadata errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28959\"\u003e#28959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove display of string literal types that include unicode characters or double quotes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29089\"\u003e#29089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove uv metadata diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28990\"\u003e#28990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve constrained type-variable failure diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28768\"\u003e#28768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve generic inference errors during diagnostic recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28811\"\u003e#28811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport deprecated overloads in decorator applications (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28999\"\u003e#28999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound methods without a receiver are not callable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28981\"\u003e#28981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix type variable inference for final class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29097\"\u003e#29097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFreshen ParamSpec identities consistently (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28826\"\u003e#28826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor generic property setters in protocol compatibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28562\"\u003e#28562\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.85\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-06.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recursive lambda class decorator panics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28984\"\u003e#28984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompare observable notebook state for equality (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28874\"\u003e#28874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect recursive alias cycles through intersections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28916\"\u003e#28916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchoring of include and exclude patterns after the project's root changed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28995\"\u003e#28995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow when inferring dynamic class metaclasses (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28917\"\u003e#28917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive dataclass transform metadata (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28920\"\u003e#28920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize recursive TypedDicts during cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28918\"\u003e#28918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve cycle markers in ParamSpec specialization (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29024\"\u003e#29024\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrefer existing @ paths over response files in Ruff and ty (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28877\"\u003e#28877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd namespace package support to import completions. (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28202\"\u003e#28202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eContain rendered code within Markdown fences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28869\"\u003e#28869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh Python settings when virtual environments change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28650\"\u003e#28650\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDiagnostic improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in \u003ccode\u003etruthiness-test-of-none-union\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28889\"\u003e#28889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid \u003ccode\u003edisjoint-cast\u003c/code\u003e diagnostics in situations where the value could have been inferred as being compatible with the casted type if it had only been inferred with the right type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28851\"\u003e#28851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplain outdated uv versions in metadata errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28959\"\u003e#28959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove display of string literal types that include unicode characters or double quotes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29089\"\u003e#29089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove uv metadata diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28990\"\u003e#28990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve constrained type-variable failure diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28768\"\u003e#28768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve generic inference errors during diagnostic recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28811\"\u003e#28811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport deprecated overloads in decorator applications (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28999\"\u003e#28999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound methods without a receiver are not callable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28981\"\u003e#28981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix type variable inference for final class objects (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29097\"\u003e#29097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFreshen ParamSpec identities consistently (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28826\"\u003e#28826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor generic property setters in protocol compatibility (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28562\"\u003e#28562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer nominal generic specializations from bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28812\"\u003e#28812\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/d7fc5ef8837c0a012a7efd187649d448532f8ff0\"\u003e\u003ccode\u003ed7fc5ef\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.85 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/bc4fd9e2af313138780598653483e5722a11f962\"\u003e\u003ccode\u003ebc4fd9e\u003c/code\u003e\u003c/a\u003e Include reproducers in daily fuzz issues (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4671\"\u003e#4671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/03d47ff340b652851d76c300a4ea0f4f422a2838\"\u003e\u003ccode\u003e03d47ff\u003c/code\u003e\u003c/a\u003e Group uv workflow and pre-commit updates (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/a86a22f15d1d391b1d803bd093bc470b7ee0aafa\"\u003e\u003ccode\u003ea86a22f\u003c/code\u003e\u003c/a\u003e Update dependency astral-sh/uv to v0.12.23 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4669\"\u003e#4669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/14475511961496c36ac764cb4b71102a18e64610\"\u003e\u003ccode\u003e1447551\u003c/code\u003e\u003c/a\u003e Enable Renovate updates for the release preparation uv version (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4668\"\u003e#4668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9f2b16aa29d8418a1f976c1b69786edc4cc7b48a\"\u003e\u003ccode\u003e9f2b16a\u003c/code\u003e\u003c/a\u003e Set FORCE_COLOR for fuzzing environment (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/05add1dd760535aa45dfd6125ab7ce122c628468\"\u003e\u003ccode\u003e05add1d\u003c/code\u003e\u003c/a\u003e Add a daily ty fuzzing workflow (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4643\"\u003e#4643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ad394150be4ac7340368677ab11d53af747f8c2e\"\u003e\u003ccode\u003ead39415\u003c/code\u003e\u003c/a\u003e Correct file exclusion guide examples (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4638\"\u003e#4638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/2ea9c49a44f736c8782e94cf107200b57720f2f5\"\u003e\u003ccode\u003e2ea9c49\u003c/code\u003e\u003c/a\u003e Update language server feature documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4637\"\u003e#4637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/449e387cceec070317ed36a683af33a9aacea8f0\"\u003e\u003ccode\u003e449e387\u003c/code\u003e\u003c/a\u003e Correct type inference and narrowing FAQ (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/4639\"\u003e#4639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.74...0.0.85\"\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/leynos/cuprum/pull/623","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/leynos%2Fcuprum/issues/623","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/623/packages"}},{"old_version":"6.131.0","new_version":"6.168.5","update_type":"minor","path":null,"pr_created_at":"2026-10-14T10:06:21.000Z","version_change":"6.131.0 → 6.168.5","issue":{"uuid":"5845863059","node_id":"PR_kwDOTzu6d88AAAABIXRQzA","number":42,"state":"closed","title":"Bump the minor-update group across 1 directory with 201 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-20T00:02:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T10:06:21.000Z","updated_at":"2026-10-20T00:02:39.000Z","time_to_close":482176,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-update","update_count":201,"packages":[{"name":"tblib","old_version":"3.1.0","new_version":"3.2.2","repository_url":"https://github.com/ionelmc/python-tblib"},{"name":"regex","old_version":"2026.2.28","new_version":"2026.9.29","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.32.3","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"tqdm","old_version":"4.67.3","new_version":"4.70.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"transformers","old_version":"5.15.0","new_version":"5.19.0","repository_url":"https://github.com/huggingface/transformers"},{"name":"tokenizers","old_version":"0.22.2","new_version":"0.23.3","repository_url":"https://github.com/huggingface/tokenizers"},{"name":"fastapi","old_version":"0.136.3","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"starlette","old_version":"1.3.1","new_version":"1.7.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"aiohttp","old_version":"3.13.3","new_version":"3.14.5","repository_url":"https://github.com/aio-libs/aiohttp"},{"name":"pydantic","old_version":"2.12.0","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"prometheus-client","old_version":"0.22.0","new_version":"0.26.0","repository_url":"https://github.com/prometheus/client_python"},{"name":"prometheus-fastapi-instrumentator","old_version":"8.0.2","new_version":"8.1.0","repository_url":"https://github.com/trallnag/prometheus-fastapi-instrumentator"},{"name":"tiktoken","old_version":"0.12.0","new_version":"0.14.0","repository_url":"https://github.com/openai/tiktoken"},{"name":"lark","old_version":"1.2.2","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"typing-extensions","old_version":"4.15.0","new_version":"4.16.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"jsonschema","old_version":"4.23.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyzmq","old_version":"27.1.0","new_version":"27.2.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"msgspec","old_version":"0.21.1","new_version":"0.22.0","repository_url":"https://github.com/msgspec/msgspec"},{"name":"mistral-common","old_version":"1.11.6","new_version":"1.12.0","repository_url":"https://github.com/mistralai/mistral-common"},{"name":"watchfiles","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"python-json-logger","old_version":"4.1.0","new_version":"4.2.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"pybase64","old_version":"1.4.3","new_version":"1.5.1","repository_url":"https://github.com/mayeut/pybase64"},{"name":"opentelemetry-sdk","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-api","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions-ai","old_version":"0.4.13","new_version":"0.5.1"},{"name":"numba","old_version":"0.65.0","new_version":"0.68.0"},{"name":"torchcodec","old_version":"0.14.0+cu130","new_version":"0.17.0","repository_url":"https://github.com/pytorch/torchcodec"},{"name":"absl-py","old_version":"2.1.0","new_version":"2.5.1","repository_url":"https://github.com/abseil/abseil-py"},{"name":"accelerate","old_version":"1.13.0","new_version":"1.15.0","repository_url":"https://github.com/huggingface/accelerate"},{"name":"aiohappyeyeballs","old_version":"2.6.1","new_version":"2.7.1","repository_url":"https://github.com/aio-libs/aiohappyeyeballs"},{"name":"alembic","old_version":"1.16.4","new_version":"1.20.0","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"annotated-types","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/annotated-types/annotated-types"},{"name":"anyio","old_version":"4.14.1","new_version":"4.15.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"arctic-inference","old_version":"0.1.1","new_version":"0.3.0"},{"name":"argcomplete","old_version":"3.5.1","new_version":"3.7.2","repository_url":"https://github.com/kislyuk/argcomplete"},{"name":"audioread","old_version":"3.0.1","new_version":"3.1.0","repository_url":"https://github.com/beetbox/audioread"},{"name":"azure-core","old_version":"1.38.2","new_version":"1.41.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.26.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.28.0","new_version":"12.31.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"blobfile","old_version":"3.0.0","new_version":"3.3.0","repository_url":"https://github.com/blobfile/blobfile"},{"name":"bm25s","old_version":"0.2.13","new_version":"0.3.13","repository_url":"https://github.com/xhluca/bm25s"},{"name":"boto3","old_version":"1.35.57","new_version":"1.43.111","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.35.57","new_version":"1.43.111","repository_url":"https://github.com/boto/botocore"},{"name":"cffi","old_version":"2.0.0","new_version":"2.1.1","repository_url":"https://github.com/python-cffi/cffi"},{"name":"charset-normalizer","old_version":"3.4.0","new_version":"3.5.2","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.4.2","new_version":"8.5.0","repository_url":"https://github.com/pallets/click"},{"name":"cohere","old_version":"7.0.8","new_version":"7.2.0","repository_url":"https://github.com/cohere-ai/cohere-python"},{"name":"cohere-melody","old_version":"0.11.1","new_version":"0.15.2","repository_url":"https://github.com/cohere-ai/melody"},{"name":"colorlog","old_version":"6.10.1","new_version":"6.12.0","repository_url":"https://github.com/borntyping/python-colorlog"},{"name":"coverage","old_version":"7.10.6","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cramjam","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/milesgranger/pyrus-cramjam"},{"name":"cuda-bindings","old_version":"13.0.3","new_version":"13.4.3","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-pathfinder","old_version":"1.3.3","new_version":"1.8.3","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-toolkit","old_version":"13.0.3.0","new_version":"13.4.2"},{"name":"datamodel-code-generator","old_version":"0.26.3","new_version":"0.83.0","repository_url":"https://github.com/datamodel-code-generator/datamodel-code-generator"},{"name":"dataproperty","old_version":"1.0.1","new_version":"1.1.1","repository_url":"https://github.com/thombashi/DataProperty"},{"name":"decorator","old_version":"5.1.1","new_version":"5.3.1","repository_url":"https://github.com/micheles/decorator"},{"name":"detect-installer","old_version":"0.1.0","new_version":"0.2.1"},{"name":"dill","old_version":"0.3.8","new_version":"0.4.1","repository_url":"https://github.com/uqfoundation/dill"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.3","repository_url":"https://github.com/pypa/distlib"},{"name":"dnspython","old_version":"2.7.0","new_version":"2.8.0","repository_url":"https://github.com/rthalley/dnspython"},{"name":"docker","old_version":"7.1.0","new_version":"7.2.0","repository_url":"https://github.com/docker/docker-py"},{"name":"einx","old_version":"0.3.0","new_version":"0.4.3","repository_url":"https://github.com/fferflo/einx"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"fastapi-cloud-cli","old_version":"0.21.0","new_version":"0.26.0","repository_url":"https://github.com/fastapilabs/fastapi-cloud-cli"},{"name":"fastar","old_version":"0.11.0","new_version":"0.12.0","repository_url":"https://github.com/DoctorJohn/fastar"},{"name":"fastsafetensors","old_version":"0.3.3","new_version":"0.4.0","repository_url":"https://github.com/foundation-model-stack/fastsafetensors"},{"name":"fonttools","old_version":"4.55.0","new_version":"4.65.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"frozenlist","old_version":"1.5.0","new_version":"1.8.0","repository_url":"https://github.com/aio-libs/frozenlist"},{"name":"genson","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/wolverdude/genson"},{"name":"google-api-core","old_version":"2.24.2","new_version":"2.42.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-auth","old_version":"2.40.2","new_version":"2.61.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-core","old_version":"2.4.3","new_version":"2.8.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-storage","old_version":"3.4.0","new_version":"3.17.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-crc32c","old_version":"1.7.1","new_version":"1.9.0","repository_url":"https://github.com/googleapis/python-crc32c"},{"name":"google-resumable-media","old_version":"2.7.2","new_version":"2.11.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"googleapis-common-protos","old_version":"1.70.0","new_version":"1.75.5","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"graphql-core","old_version":"3.2.6","new_version":"3.3.0","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"greenlet","old_version":"3.2.3","new_version":"3.5.6","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"grpcio","old_version":"1.78.0","new_version":"1.84.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-reflection","old_version":"1.78.0","new_version":"1.84.0"},{"name":"h11","old_version":"0.14.0","new_version":"0.16.0","repository_url":"https://github.com/python-hyper/h11"},{"name":"h2","old_version":"4.3.0","new_version":"4.4.1","repository_url":"https://github.com/python-hyper/h2"},{"name":"hf-xet","old_version":"1.6.0","new_version":"1.7.0","repository_url":"https://github.com/huggingface/xet-core"},{"name":"hiredis","old_version":"3.0.0","new_version":"3.4.2","repository_url":"https://github.com/redis/hiredis-py"},{"name":"hpack","old_version":"4.1.0","new_version":"4.2.0","repository_url":"https://github.com/python-hyper/hpack"},{"name":"httptools","old_version":"0.8.0","new_version":"0.9.0","repository_url":"https://github.com/MagicStack/httptools"},{"name":"httpx","old_version":"0.27.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"humanize","old_version":"4.11.0","new_version":"4.16.0","repository_url":"https://github.com/python-humanize/humanize"},{"name":"hypothesis","old_version":"6.131.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"idna","old_version":"3.10","new_version":"3.20","repository_url":"https://github.com/kjd/idna"},{"name":"imageio","old_version":"2.37.0","new_version":"2.38.0","repository_url":"https://github.com/imageio/imageio"},{"name":"iniconfig","old_version":"2.0.0","new_version":"2.3.1","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"instanttensor","old_version":"0.1.9","new_version":"0.2.1","repository_url":"https://github.com/scitix/InstantTensor"},{"name":"jiter","old_version":"0.15.0","new_version":"0.17.0","repository_url":"https://github.com/pydantic/jiter"},{"name":"jmespath","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/jmespath/jmespath.py"},{"name":"joblib","old_version":"1.4.2","new_version":"1.6.0","repository_url":"https://github.com/joblib/joblib"},{"name":"jsonschema-rs","old_version":"0.46.5","new_version":"0.58.6","repository_url":"https://github.com/Stranger6667/jsonschema"},{"name":"kiwisolver","old_version":"1.4.7","new_version":"1.5.1","repository_url":"https://github.com/nucleic/kiwi"},{"name":"lazy-loader","old_version":"0.4","new_version":"0.6","repository_url":"https://github.com/scientific-python/lazy-loader"},{"name":"llguidance","old_version":"1.7.6","new_version":"1.9.1","repository_url":"https://github.com/microsoft/llguidance"},{"name":"llvmlite","old_version":"0.47.0","new_version":"0.50.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"mako","old_version":"1.3.10","new_version":"1.4.3","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.34.0","new_version":"1.39.0","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"msgpack","old_version":"1.1.0","new_version":"1.2.3","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"mteb","old_version":"2.8.3","new_version":"2.23.0","repository_url":"https://github.com/embeddings-benchmark/mteb"},{"name":"mypy-extensions","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/python/mypy_extensions"},{"name":"networkx","old_version":"3.2.1","new_version":"3.4.2","repository_url":"https://github.com/networkx/networkx"},{"name":"nltk","old_version":"3.9.1","new_version":"3.10.3","repository_url":"https://github.com/nltk/nltk"},{"name":"nvidia-cublas","old_version":"13.1.1.3","new_version":"13.8.1.7"},{"name":"nvidia-cuda-cupti","old_version":"13.0.85","new_version":"13.4.92"},{"name":"nvidia-cuda-nvrtc","old_version":"13.0.88","new_version":"13.4.92"},{"name":"nvidia-cuda-runtime","old_version":"13.0.96","new_version":"13.4.92"},{"name":"nvidia-cudnn-cu13","old_version":"9.20.0.48","new_version":"9.27.0.42"},{"name":"nvidia-cufft","old_version":"12.0.0.61","new_version":"12.4.0.43"},{"name":"nvidia-cufile","old_version":"1.15.1.6","new_version":"1.19.1.55"},{"name":"nvidia-cusolver","old_version":"12.0.4.66","new_version":"12.3.4.7"},{"name":"nvidia-cusparse","old_version":"12.6.3.3","new_version":"12.8.6.72"},{"name":"nvidia-cusparselt-cu13","old_version":"0.8.1","new_version":"0.10.0"},{"name":"nvidia-nccl-cu13","old_version":"2.29.7","new_version":"2.32.3"},{"name":"nvidia-nvjitlink","old_version":"13.0.88","new_version":"13.4.92"},{"name":"nvidia-nvshmem-cu13","old_version":"3.4.5","new_version":"3.8.0"},{"name":"nvidia-nvtx","old_version":"13.0.85","new_version":"13.4.92"},{"name":"opentelemetry-exporter-otlp-proto-common","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-http","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-prometheus","old_version":"0.56b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-proto","old_version":"1.35.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.56b0","new_version":"0.66b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"orjson","old_version":"3.11.5","new_version":"3.13.0","repository_url":"https://github.com/ijl/orjson"},{"name":"pathvalidate","old_version":"3.2.1","new_version":"3.3.1","repository_url":"https://github.com/thombashi/pathvalidate"},{"name":"peft","old_version":"0.19.1","new_version":"0.21.2","repository_url":"https://github.com/huggingface/peft"},{"name":"perceptron","old_version":"0.1.4","new_version":"0.4.0","repository_url":"https://github.com/perceptron-ai-inc/perceptron"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.12.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"pooch","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/fatiando/pooch"},{"name":"propcache","old_version":"0.2.0","new_version":"0.5.4","repository_url":"https://github.com/aio-libs/propcache"},{"name":"proto-plus","old_version":"1.26.1","new_version":"1.29.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"pycryptodomex","old_version":"3.22.0","new_version":"3.24.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"pydantic-core","old_version":"2.41.1","new_version":"2.50.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-extra-types","old_version":"2.10.5","new_version":"2.11.1","repository_url":"https://github.com/pydantic/pydantic-extra-types"},{"name":"pydantic-settings","old_version":"2.14.2","new_version":"2.15.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pygments","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pyjwt","old_version":"2.11.0","new_version":"2.15.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyparsing","old_version":"3.2.0","new_version":"3.3.3","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyrate-limiter","old_version":"4.4.0","new_version":"4.5.0","repository_url":"https://github.com/vutran1710/PyrateLimiter"},{"name":"pystemmer","old_version":"3.0.0","new_version":"3.1.0","repository_url":"https://github.com/snowballstem/pystemmer"},{"name":"pytest-forked","old_version":"1.6.0","new_version":"1.7.5","repository_url":"https://github.com/pytest-dev/pytest-forked"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.16.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-timeout","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/pytest-dev/pytest-timeout"},{"name":"python-rapidjson","old_version":"1.20","new_version":"1.25","repository_url":"https://github.com/python-rapidjson/python-rapidjson"},{"name":"rapidfuzz","old_version":"3.12.1","new_version":"3.14.5","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"referencing","old_version":"0.35.1","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"responses","old_version":"0.25.3","new_version":"0.26.3","repository_url":"https://github.com/getsentry/responses"},{"name":"rignore","old_version":"0.7.6","new_version":"0.8.1"},{"name":"runai-model-streamer","old_version":"0.15.7","new_version":"0.16.1"},{"name":"runai-model-streamer-azure","old_version":"0.15.7","new_version":"0.16.1"},{"name":"runai-model-streamer-gcs","old_version":"0.15.7","new_version":"0.16.1"},{"name":"runai-model-streamer-s3","old_version":"0.15.7","new_version":"0.16.1"},{"name":"s3transfer","old_version":"0.10.3","new_version":"0.19.2","repository_url":"https://github.com/boto/s3transfer"},{"name":"sacrebleu","old_version":"2.4.3","new_version":"2.6.0","repository_url":"https://github.com/mjpost/sacrebleu"},{"name":"schemathesis","old_version":"4.21.6","new_version":"4.30.1","repository_url":"https://github.com/schemathesis/schemathesis"},{"name":"scikit-learn","old_version":"1.5.2","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.13.1","new_version":"1.15.3","repository_url":"https://github.com/scipy/scipy"},{"name":"sentry-sdk","old_version":"2.63.0","new_version":"2.71.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"six","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/benjaminp/six"},{"name":"soundfile","old_version":"0.12.1","new_version":"0.14.0","repository_url":"https://github.com/bastibe/python-soundfile"},{"name":"sse-starlette","old_version":"3.4.5","new_version":"3.5.0","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.15.0","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"tabulate","old_version":"0.9.0","new_version":"0.10.0","repository_url":"https://github.com/astanin/python-tabulate"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.2.1","repository_url":"https://github.com/jd/tenacity"},{"name":"tensorizer","old_version":"2.10.1","new_version":"2.12.1","repository_url":"https://github.com/coreweave/tensorizer"},{"name":"termcolor","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/termcolor/termcolor"},{"name":"threadpoolctl","old_version":"3.5.0","new_version":"3.7.0","repository_url":"https://github.com/joblib/threadpoolctl"},{"name":"triton","old_version":"3.7.1","new_version":"3.8.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"tritonclient","old_version":"2.64.0","new_version":"2.73.0","repository_url":"https://github.com/triton-inference-server/client"},{"name":"typer","old_version":"0.26.8","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"urllib3","old_version":"2.2.3","new_version":"2.8.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvloop","old_version":"0.22.1","new_version":"0.23.0","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"vector-quantize-pytorch","old_version":"1.21.2","new_version":"1.31.6","repository_url":"https://github.com/lucidrains/vector-quantizer-pytorch"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.9.2","repository_url":"https://github.com/jquast/wcwidth"},{"name":"yarl","old_version":"1.17.1","new_version":"1.25.1","repository_url":"https://github.com/aio-libs/yarl"},{"name":"conch-triton-kernels","old_version":"1.2.1","new_version":"1.3","repository_url":"https://github.com/stackav-oss/conch"},{"name":"tpu-inference","old_version":"0.26.0","new_version":"0.31.0","repository_url":"https://github.com/vllm-project/tpu-inference"},{"name":"pynvvideocodec","old_version":"2.0.4","new_version":"2.2.3"},{"name":"flashinfer-python","old_version":"0.6.16.post3","new_version":"0.7.1","repository_url":"https://github.com/flashinfer-ai/flashinfer"},{"name":"flashinfer-cubin","old_version":"0.6.16.post3","new_version":"0.7.1","repository_url":"https://github.com/flashinfer-ai/flashinfer"},{"name":"nvidia-cutlass-dsl","old_version":"4.6.2","new_version":"4.8.0","repository_url":"https://github.com/NVIDIA/cutlass"},{"name":"auto-round-lib","old_version":"0.14.2","new_version":"0.16.0","repository_url":"https://github.com/intel/auto-round"},{"name":"gitpython","old_version":"3.1.50","new_version":"3.2.0","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"griffelib","old_version":"2.0.2","new_version":"2.3.0"},{"name":"markdown","old_version":"3.10.2","new_version":"3.10.3","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"mkdocs-git-revision-date-localized-plugin","old_version":"1.5.1","new_version":"1.6.0","repository_url":"https://github.com/timvink/mkdocs-git-revision-date-localized-plugin"},{"name":"ruff","old_version":"0.15.12","new_version":"0.17.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"zentorch","old_version":"2.13.0.0","new_version":"2.14.0.1","repository_url":"https://github.com/amd/ZenDNN-pytorch-plugin"},{"name":"b12x","old_version":"1.2.4","new_version":"1.5.0"}],"path":null,"ecosystem":"pip"},"body":"\u003e [!WARNING]\n\u003e Cooldown could not be applied because no publication date was available from the registry.\n\u003e\n\nBumps the minor-update group with 201 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tblib](https://github.com/ionelmc/python-tblib) | `3.1.0` | `3.2.2` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.2.28` | `2026.9.29` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.34.2` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.3` | `4.70.1` |\n| [transformers](https://github.com/huggingface/transformers) | `5.15.0` | `5.19.0` |\n| [tokenizers](https://github.com/huggingface/tokenizers) | `0.22.2` | `0.23.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.3` | `0.143.0` |\n| [starlette](https://github.com/Kludex/starlette) | `1.3.1` | `1.7.0` |\n| [aiohttp](https://github.com/aio-libs/aiohttp) | `3.13.3` | `3.14.5` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.0` | `2.14.0` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.0` | `0.26.0` |\n| [prometheus-fastapi-instrumentator](https://github.com/trallnag/prometheus-fastapi-instrumentator) | `8.0.2` | `8.1.0` |\n| [tiktoken](https://github.com/openai/tiktoken) | `0.12.0` | `0.14.0` |\n| [lark](https://github.com/lark-parser/lark) | `1.2.2` | `1.3.1` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.15.0` | `4.16.0` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.23.0` | `4.26.0` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `27.1.0` | `27.2.0` |\n| [msgspec](https://github.com/msgspec/msgspec) | `0.21.1` | `0.22.0` |\n| [mistral-common](https://github.com/mistralai/mistral-common) | `1.11.6` | `1.12.0` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.2.0` | `1.3.0` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.1.0` | `4.2.0` |\n| [pybase64](https://github.com/mayeut/pybase64) | `1.4.3` | `1.5.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| opentelemetry-semantic-conventions-ai | `0.4.13` | `0.5.1` |\n| [numba](https://numba.pydata.org) | `0.65.0` | `0.68.0` |\n| [torchcodec](https://github.com/pytorch/torchcodec) | `0.14.0+cu130` | `0.17.0` |\n| [absl-py](https://github.com/abseil/abseil-py) | `2.1.0` | `2.5.1` |\n| [accelerate](https://github.com/huggingface/accelerate) | `1.13.0` | `1.15.0` |\n| [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs) | `2.6.1` | `2.7.1` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.4` | `1.20.0` |\n| [annotated-types](https://github.com/annotated-types/annotated-types) | `0.7.0` | `0.8.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.14.1` | `4.15.1` |\n| arctic-inference | `0.1.1` | `0.3.0` |\n| [argcomplete](https://github.com/kislyuk/argcomplete) | `3.5.1` | `3.7.2` |\n| [audioread](https://github.com/beetbox/audioread) | `3.0.1` | `3.1.0` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.2` | `1.41.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.26.0` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.28.0` | `12.31.0` |\n| [blobfile](https://github.com/blobfile/blobfile) | `3.0.0` | `3.3.0` |\n| [bm25s](https://github.com/xhluca/bm25s) | `0.2.13` | `0.3.13` |\n| [boto3](https://github.com/boto/boto3) | `1.35.57` | `1.43.111` |\n| [botocore](https://github.com/boto/botocore) | `1.35.57` | `1.43.111` |\n| [cffi](https://github.com/python-cffi/cffi) | `2.0.0` | `2.1.1` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.0` | `3.5.2` |\n| [click](https://github.com/pallets/click) | `8.4.2` | `8.5.0` |\n| [cohere](https://github.com/cohere-ai/cohere-python) | `7.0.8` | `7.2.0` |\n| [cohere-melody](https://github.com/cohere-ai/melody) | `0.11.1` | `0.15.2` |\n| [colorlog](https://github.com/borntyping/python-colorlog) | `6.10.1` | `6.12.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.6` | `7.16.2` |\n| [cramjam](https://github.com/milesgranger/pyrus-cramjam) | `2.9.0` | `2.11.0` |\n| [cuda-bindings](https://github.com/NVIDIA/cuda-python) | `13.0.3` | `13.4.3` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.3.3` | `1.8.3` |\n| [cuda-toolkit](https://developer.nvidia.com/cuda-toolkit) | `13.0.3.0` | `13.4.2` |\n| [datamodel-code-generator](https://github.com/datamodel-code-generator/datamodel-code-generator) | `0.26.3` | `0.83.0` |\n| [dataproperty](https://github.com/thombashi/DataProperty) | `1.0.1` | `1.1.1` |\n| [decorator](https://github.com/micheles/decorator) | `5.1.1` | `5.3.1` |\n| detect-installer | `0.1.0` | `0.2.1` |\n| [dill](https://github.com/uqfoundation/dill) | `0.3.8` | `0.4.1` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.3` |\n| [dnspython](https://github.com/rthalley/dnspython) | `2.7.0` | `2.8.0` |\n| [docker](https://github.com/docker/docker-py) | `7.1.0` | `7.2.0` |\n| [einx](https://github.com/fferflo/einx) | `0.3.0` | `0.4.3` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [fastapi-cloud-cli](https://github.com/fastapilabs/fastapi-cloud-cli) | `0.21.0` | `0.26.0` |\n| [fastar](https://github.com/DoctorJohn/fastar) | `0.11.0` | `0.12.0` |\n| [fastsafetensors](https://github.com/foundation-model-stack/fastsafetensors) | `0.3.3` | `0.4.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.55.0` | `4.65.0` |\n| [frozenlist](https://github.com/aio-libs/frozenlist) | `1.5.0` | `1.8.0` |\n| [genson](https://github.com/wolverdude/genson) | `1.3.0` | `1.4.0` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.24.2` | `2.42.0` |\n| [google-auth](https://github.com/googleapis/google-cloud-python) | `2.40.2` | `2.61.0` |\n| [google-cloud-core](https://github.com/googleapis/google-cloud-python) | `2.4.3` | `2.8.0` |\n| [google-cloud-storage](https://github.com/googleapis/google-cloud-python) | `3.4.0` | `3.17.0` |\n| [google-crc32c](https://github.com/googleapis/python-crc32c) | `1.7.1` | `1.9.0` |\n| [google-resumable-media](https://github.com/googleapis/google-cloud-python) | `2.7.2` | `2.11.0` |\n| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python) | `1.70.0` | `1.75.5` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.6` | `3.3.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.3` | `3.5.6` |\n| [grpcio](https://github.com/grpc/grpc) | `1.78.0` | `1.84.0` |\n| [grpcio-reflection](https://grpc.io) | `1.78.0` | `1.84.0` |\n| [h11](https://github.com/python-hyper/h11) | `0.14.0` | `0.16.0` |\n| [h2](https://github.com/python-hyper/h2) | `4.3.0` | `4.4.1` |\n| [hf-xet](https://github.com/huggingface/xet-core) | `1.6.0` | `1.7.0` |\n| [hiredis](https://github.com/redis/hiredis-py) | `3.0.0` | `3.4.2` |\n| [hpack](https://github.com/python-hyper/hpack) | `4.1.0` | `4.2.0` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.8.0` | `0.9.0` |\n| [httpx](https://github.com/encode/httpx) | `0.27.2` | `0.28.1` |\n| [humanize](https://github.com/python-humanize/humanize) | `4.11.0` | `4.16.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.131.0` | `6.168.5` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.20` |\n| [imageio](https://github.com/imageio/imageio) | `2.37.0` | `2.38.0` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.1` |\n| [instanttensor](https://github.com/scitix/InstantTensor) | `0.1.9` | `0.2.1` |\n| [jiter](https://github.com/pydantic/jiter) | `0.15.0` | `0.17.0` |\n| [jmespath](https://github.com/jmespath/jmespath.py) | `1.0.1` | `1.1.0` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.6.0` |\n| [jsonschema-rs](https://github.com/Stranger6667/jsonschema) | `0.46.5` | `0.58.6` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.7` | `1.5.1` |\n| [lazy-loader](https://github.com/scientific-python/lazy-loader) | `0.4` | `0.6` |\n| [llguidance](https://github.com/microsoft/llguidance) | `1.7.6` | `1.9.1` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.47.0` | `0.50.0` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.10` | `1.4.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.9` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.34.0` | `1.39.0` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.0` | `1.2.3` |\n| [mteb](https://github.com/embeddings-benchmark/mteb) | `2.8.3` | `2.23.0` |\n| [mypy-extensions](https://github.com/python/mypy_extensions) | `1.0.0` | `1.1.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.2.1` | `3.4.2` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.10.3` |\n| [nvidia-cublas](https://developer.nvidia.com/cuda-zone) | `13.1.1.3` | `13.8.1.7` |\n| [nvidia-cuda-cupti](https://developer.nvidia.com/cuda-zone) | `13.0.85` | `13.4.92` |\n| [nvidia-cuda-nvrtc](https://developer.nvidia.com/cuda-zone) | `13.0.88` | `13.4.92` |\n| [nvidia-cuda-runtime](https://developer.nvidia.com/cuda-zone) | `13.0.96` | `13.4.92` |\n| [nvidia-cudnn-cu13](https://developer.nvidia.com/cuda-zone) | `9.20.0.48` | `9.27.0.42` |\n| [nvidia-cufft](https://developer.nvidia.com/cuda-zone) | `12.0.0.61` | `12.4.0.43` |\n| [nvidia-cufile](https://developer.nvidia.com/cuda-zone) | `1.15.1.6` | `1.19.1.55` |\n| [nvidia-cusolver](https://developer.nvidia.com/cuda-zone) | `12.0.4.66` | `12.3.4.7` |\n| [nvidia-cusparse](https://developer.nvidia.com/cuda-zone) | `12.6.3.3` | `12.8.6.72` |\n| [nvidia-cusparselt-cu13](https://developer.nvidia.com/cusparselt) | `0.8.1` | `0.10.0` |\n| [nvidia-nccl-cu13](https://developer.nvidia.com/cuda-zone) | `2.29.7` | `2.32.3` |\n| [nvidia-nvjitlink](https://developer.nvidia.com/cuda-zone) | `13.0.88` | `13.4.92` |\n| [nvidia-nvshmem-cu13](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.8.0` |\n| [nvidia-nvtx](https://developer.nvidia.com/cuda-zone) | `13.0.85` | `13.4.92` |\n| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-exporter-prometheus](https://github.com/open-telemetry/opentelemetry-python) | `0.56b0` | `0.66b1` |\n| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.35.0` | `1.45.1` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.56b0` | `0.66b1` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.13.0` |\n| [pathvalidate](https://github.com/thombashi/pathvalidate) | `3.2.1` | `3.3.1` |\n| [peft](https://github.com/huggingface/peft) | `0.19.1` | `0.21.2` |\n| [perceptron](https://github.com/perceptron-ai-inc/perceptron) | `0.1.4` | `0.4.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.12.4` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [pooch](https://github.com/fatiando/pooch) | `1.8.2` | `1.9.0` |\n| [propcache](https://github.com/aio-libs/propcache) | `0.2.0` | `0.5.4` |\n| [proto-plus](https://github.com/googleapis/google-cloud-python) | `1.26.1` | `1.29.0` |\n| [pycryptodomex](https://github.com/Legrandin/pycryptodome) | `3.22.0` | `3.24.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.41.1` | `2.50.0` |\n| [pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | `2.10.5` | `2.11.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.2` | `2.15.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.18.0` | `2.21.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.11.0` | `2.15.1` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.0` | `3.3.3` |\n| [pyrate-limiter](https://github.com/vutran1710/PyrateLimiter) | `4.4.0` | `4.5.0` |\n| [pystemmer](https://github.com/snowballstem/pystemmer) | `3.0.0` | `3.1.0` |\n| [pytest-forked](https://github.com/pytest-dev/pytest-forked) | `1.6.0` | `1.7.5` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.16.0` |\n| [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) | `2.3.1` | `2.4.0` |\n| [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) | `1.20` | `1.25` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.12.1` | `3.14.5` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.35.1` | `0.37.0` |\n| [responses](https://github.com/getsentry/responses) | `0.25.3` | `0.26.3` |\n| rignore | `0.7.6` | `0.8.1` |\n| runai-model-streamer | `0.15.7` | `0.16.1` |\n| runai-model-streamer-azure | `0.15.7` | `0.16.1` |\n| runai-model-streamer-gcs | `0.15.7` | `0.16.1` |\n| runai-model-streamer-s3 | `0.15.7` | `0.16.1` |\n| [s3transfer](https://github.com/boto/s3transfer) | `0.10.3` | `0.19.2` |\n| [sacrebleu](https://github.com/mjpost/sacrebleu) | `2.4.3` | `2.6.0` |\n| [schemathesis](https://github.com/schemathesis/schemathesis) | `4.21.6` | `4.30.1` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.5.2` | `1.7.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.13.1` | `1.15.3` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.63.0` | `2.71.0` |\n| [six](https://github.com/benjaminp/six) | `1.16.0` | `1.17.0` |\n| [soundfile](https://github.com/bastibe/python-soundfile) | `0.12.1` | `0.14.0` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.4.5` | `3.5.0` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.15.0` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [tabulate](https://github.com/astanin/python-tabulate) | `0.9.0` | `0.10.0` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.2.1` |\n| [tensorizer](https://github.com/coreweave/tensorizer) | `2.10.1` | `2.12.1` |\n| [termcolor](https://github.com/termcolor/termcolor) | `3.1.0` | `3.3.0` |\n| [threadpoolctl](https://github.com/joblib/threadpoolctl) | `3.5.0` | `3.7.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.7.1` | `3.8.0` |\n| [tritonclient](https://github.com/triton-inference-server/client) | `2.64.0` | `2.73.0` |\n| [typer](https://github.com/fastapi/typer) | `0.26.8` | `0.27.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.8.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.54.0` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.22.1` | `0.23.0` |\n| [vector-quantize-pytorch](https://github.com/lucidrains/vector-quantizer-pytorch) | `1.21.2` | `1.31.6` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.9.2` |\n| [yarl](https://github.com/aio-libs/yarl) | `1.17.1` | `1.25.1` |\n| [conch-triton-kernels](https://github.com/stackav-oss/conch) | `1.2.1` | `1.3` |\n| [tpu-inference](https://github.com/vllm-project/tpu-inference) | `0.26.0` | `0.31.0` |\n| pynvvideocodec | `2.0.4` | `2.2.3` |\n| [flashinfer-python](https://github.com/flashinfer-ai/flashinfer) | `0.6.16.post3` | `0.7.1` |\n| [flashinfer-cubin](https://github.com/flashinfer-ai/flashinfer) | `0.6.16.post3` | `0.7.1` |\n| [nvidia-cutlass-dsl](https://github.com/NVIDIA/cutlass) | `4.6.2` | `4.8.0` |\n| [auto-round-lib](https://github.com/intel/auto-round) | `0.14.2` | `0.16.0` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.50` | `3.2.0` |\n| griffelib | `2.0.2` | `2.3.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10.2` | `3.10.3` |\n| [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) | `1.5.1` | `1.6.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.17.0` |\n| [zentorch](https://github.com/amd/ZenDNN-pytorch-plugin) | `2.13.0.0` | `2.14.0.1` |\n| b12x | `1.2.4` | `1.5.0` |\n\n\nUpdates `tblib` from 3.1.0 to 3.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ionelmc/python-tblib/blob/master/CHANGELOG.rst\"\u003etblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.2.2 (2025-11-12)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed regression occurring with ``TimeoutError`` exceptions. They should be represented now exactly as the original when unpickling.\n  Contributed by Jacob Tomlinson in `[#85](https://github.com/ionelmc/python-tblib/issues/85) \u0026lt;https://github.com/ionelmc/python-tblib/pull/85\u0026gt;`_.\n\u003cp\u003e3.2.1 (2025-10-31)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed regression occurring with \u003ccode\u003eExceptionGroup\u003c/code\u003e exceptions. That exception type is now handled specifically in the new \u003ccode\u003eunpickle_exception_with_attrs\u003c/code\u003e function (just like \u003ccode\u003eOSError\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.2.0 (2025-10-21)\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Changed ``tblib.pickling_support.install`` to support exceptions with ``__init__`` that does match the default\n  ``BaseException.__reduce__`` (as it expects the positional arguments to ``__init__`` to match the ``args`` attribute).\n\u003cp\u003eSpecial handling for OSError (and subclasses) is also included. The errno, strerror, winerror, filename and filename2 attributes will be added in the reduce structure (if set).\u003c/p\u003e\n\u003cp\u003eThis will support exception subclasses that do this without defining a custom \u003ccode\u003e__reduce__\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: python\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003edef __init__(self):\n    super().__init__('mistery argument')\n\ndef __init__(self, mistery_argument):\n    super().__init__()\n    self.mistery_argument = mistery_argument\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eTests and POC contributed by Oldřich Jedlička in \u003ccode\u003e[#73](https://github.com/ionelmc/python-tblib/issues/73) \u0026amp;lt;https://github.com/ionelmc/python-tblib/pull/73\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed some doctest and coverage config. Contributed by Colin Watson in \u003ccode\u003e[#79](https://github.com/ionelmc/python-tblib/issues/79) \u0026amp;lt;https://github.com/ionelmc/python-tblib/pull/79\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/ionelmc/python-tblib/commit/d88606aab343749dfeccf16a813f63cbe2dae11e\"\u003e\u003ccode\u003ed88606a\u003c/code\u003e\u003c/a\u003e Bump version: 3.2.1 → 3.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/530f8743f1ed322f220621d8491e660636065279\"\u003e\u003ccode\u003e530f874\u003c/code\u003e\u003c/a\u003e Add test for timeouterror regression. Ref \u003ca href=\"https://redirect.github.com/ionelmc/python-tblib/issues/85\"\u003e#85\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/9c8f2ca0e7c061cc423207986af6f06aaa76cfee\"\u003e\u003ccode\u003e9c8f2ca\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/df6185d4b942a37d48a0e082b885380b8c5cc5ad\"\u003e\u003ccode\u003edf6185d\u003c/code\u003e\u003c/a\u003e Handle optional OSError attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/b197023aa86b831834393fdd89c6439fe2ffaf0c\"\u003e\u003ccode\u003eb197023\u003c/code\u003e\u003c/a\u003e Bump version: 3.2.0 → 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/d71e1edc9da5a86e326406ea4372cce5c075b4f4\"\u003e\u003ccode\u003ed71e1ed\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/74ec64570acb0d6ce708c695ab98d52d08f8b066\"\u003e\u003ccode\u003e74ec645\u003c/code\u003e\u003c/a\u003e Specifically handle ExceptionGroup in the new unpickle_exception_with_attrs. ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/580d57921a6e93660bf47771f70c0bfbe70e9c97\"\u003e\u003ccode\u003e580d579\u003c/code\u003e\u003c/a\u003e Ooops, forgot to update these.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/ebc83e93b6342950cb93cf296991fb99ce4aa13a\"\u003e\u003ccode\u003eebc83e9\u003c/code\u003e\u003c/a\u003e Bump version: 3.1.0 → 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ionelmc/python-tblib/commit/abec37d4526fb86f95c7567644f1fd6c2cec4215\"\u003e\u003ccode\u003eabec37d\u003c/code\u003e\u003c/a\u003e Update changelog and add one more test.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ionelmc/python-tblib/compare/v3.1.0...v3.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2026.2.28 to 2026.9.29\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2026.9.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated to Unicode 18.0.0.\n\u003cp\u003eSwitched to using stdbool.h and stdint.h.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eVersion: 2026.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 619: `Match.expand()` segfaults after `detach_string()` when the template references a group\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFixed version.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.9\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ePR [#615](https://github.com/mrabarnett/mrab-regex/issues/615): Fix Python API error propagation in match helpers\n\u003cp\u003ePR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/616\"\u003e#616\u003c/a\u003e: Preserve Python Exceptions in Input Decoding and String Detachment\u003c/p\u003e\n\u003cp\u003ePR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/617\"\u003e#617\u003c/a\u003e: Prevent Invalid Pointer Use and Exception State Corruption in Byte String Joining\u003c/p\u003e\n\u003cp\u003ePR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/618\"\u003e#618\u003c/a\u003e: Propagate Allocation and Internal Errors During Pattern Compilation and Scanner Execution\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eVersion: 2026.9.3\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eNew version of cibuildwheel no longer supports building for free-threaded Python 3.13.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eNew version of cibuildwheel no longer needs nor supports cpython-freethreading option.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated cibuildwheel.\nSupport Python 3.15.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.8.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFixed version.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.8.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 611: Heap out-of-bounds write at compile time\nGit issue 612: count_one() size underflow through the stale required-string cache\nGit issue 613: (*SKIP) inside an atomic group, plus an equality-only scan stop\nGit issue 614: build_GROUP() does not propagate the match direction\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2026.8.12\u003c/p\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/0e8cb0596ba6572c66e5d153a1d7c901b381e15e\"\u003e\u003ccode\u003e0e8cb05\u003c/code\u003e\u003c/a\u003e Updated to Unicode 18.0.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/85e568c0e0be620b4ebe50c98ea92415f5995ffc\"\u003e\u003ccode\u003e85e568c\u003c/code\u003e\u003c/a\u003e Git issue 619: \u003ccode\u003eMatch.expand()\u003c/code\u003e segfaults after \u003ccode\u003edetach_string()\u003c/code\u003e when the te...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7dd71c15c4fb5c94206bed1763abd4c2bd2f1b33\"\u003e\u003ccode\u003e7dd71c1\u003c/code\u003e\u003c/a\u003e Fixed version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/59124d62299e212931786aa74ead15388abaf376\"\u003e\u003ccode\u003e59124d6\u003c/code\u003e\u003c/a\u003e PR \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/615\"\u003e#615\u003c/a\u003e: Fix Python API error propagation in match helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/25e15218bd44ca26677e3c28709e94a0ca0d9b8e\"\u003e\u003ccode\u003e25e1521\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/618\"\u003e#618\u003c/a\u003e from dynapx/fix-compiler-error-propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/3ad78cfb73850c2f1178d19553fa14661f73d9cb\"\u003e\u003ccode\u003e3ad78cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/616\"\u003e#616\u003c/a\u003e from dynapx/fix-detach-string-error-propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/f54253c332574bd5a9d96d3ec9d62b5db954dac7\"\u003e\u003ccode\u003ef54253c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/615\"\u003e#615\u003c/a\u003e from dynapx/fix-python-api-error-propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/c44224476cd6a6e53be0e458dfdcf3b81d76e426\"\u003e\u003ccode\u003ec442244\u003c/code\u003e\u003c/a\u003e Propagate scanner internal errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/68837e7af862250cd08fa49ff584a2bbff246e0f\"\u003e\u003ccode\u003e68837e7\u003c/code\u003e\u003c/a\u003e Propagate node stack allocation failures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/f1df5387982d526cc9475fddcc8d1043b02ffc9a\"\u003e\u003ccode\u003ef1df538\u003c/code\u003e\u003c/a\u003e Propagate check stack allocation failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2026.2.28...2026.9.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.34.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.34.2\u003c/h2\u003e\n\u003ch2\u003e2.34.2 (2026-05-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003eheaders\u003c/code\u003e input type back to \u003ccode\u003eMapping\u003c/code\u003e to avoid invariance issues with \u003ccode\u003eMutableMapping\u003c/code\u003e and inferred dict types. Users calling \u003ccode\u003eRequest.headers.update()\u003c/code\u003e may need to narrow typing in their code. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7441\"\u003e#7441\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2342-2026-05-14\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2342-2026-05-14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.34.1\u003c/h2\u003e\n\u003ch2\u003e2.34.1 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWidened \u003ccode\u003ejson\u003c/code\u003e input type from \u003ccode\u003edict\u003c/code\u003e and \u003ccode\u003elist\u003c/code\u003e to \u003ccode\u003eMapping\u003c/code\u003e\nand \u003ccode\u003eSequence\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7436\"\u003e#7436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eheaders\u003c/code\u003e input type to MutableMapping and removed \u003ccode\u003eNone\u003c/code\u003e from\n\u003ccode\u003eRequest.headers\u003c/code\u003e typing to improve handling for users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7431\"\u003e#7431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.reason\u003c/code\u003e moved from \u003ccode\u003estr | None\u003c/code\u003e to \u003ccode\u003estr\u003c/code\u003e to improve handling\nfor users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7437\"\u003e#7437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where some bodies with custom \u003ccode\u003e__getattr__\u003c/code\u003e implementations\nweren't being properly detected as Iterables. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7433\"\u003e#7433\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/k223kim\"\u003e\u003ccode\u003e@​k223kim\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7433\"\u003epsf/requests#7433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2341-2026-05-13\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2341-2026-05-13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.34.0\u003c/h2\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. \u003cstrong\u003eWe believe types are comprehensive but if you find issues, please\nreport them to the \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003epinned tracking issue\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\u003c/li\u003e\n\u003c/ul\u003e\n\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/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.34.2 (2026-05-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003eheaders\u003c/code\u003e input type back to \u003ccode\u003eMapping\u003c/code\u003e to avoid invariance issues\nwith \u003ccode\u003eMutableMapping\u003c/code\u003e and inferred dict types. Users calling\n\u003ccode\u003eRequest.headers.update()\u003c/code\u003e may need to narrow typing in their code. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7441\"\u003e#7441\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.1 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWidened \u003ccode\u003ejson\u003c/code\u003e input type from \u003ccode\u003edict\u003c/code\u003e and \u003ccode\u003elist\u003c/code\u003e to \u003ccode\u003eMapping\u003c/code\u003e\nand \u003ccode\u003eSequence\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7436\"\u003e#7436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eheaders\u003c/code\u003e input type to MutableMapping and removed \u003ccode\u003eNone\u003c/code\u003e from\n\u003ccode\u003eRequest.headers\u003c/code\u003e typing to improve handling for users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7431\"\u003e#7431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.reason\u003c/code\u003e moved from \u003ccode\u003estr | None\u003c/code\u003e to \u003ccode\u003estr\u003c/code\u003e to improve handling\nfor users. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7437\"\u003e#7437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where some bodies with custom \u003ccode\u003e__getattr__\u003c/code\u003e implementations\nweren't being properly detected as Iterables. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7433\"\u003e#7433\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. We believe types are comprehensive but if you find issues, please\nreport them to the pinned tracking issue.\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\nproxy_bypass implementation has been updated with CPython's fix from\nbpo-39057. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer incorrectly strips duplicate leading slashes in\nURI paths. This should address user issues with specific presigned\nURLs. Note the full fix requires urllib3 2.7.0+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6e83187b8feb273ed4c6cdab5efd8d54901dfab3\"\u003e\u003ccode\u003e6e83187\u003c/code\u003e\u003c/a\u003e v2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/84d10f0be83e8f6aeca8a05230c52216431c4d0b\"\u003e\u003ccode\u003e84d10f0\u003c/code\u003e\u003c/a\u003e Move Request.headers back to Mapping (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7441\"\u003e#7441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b7b549b54571d03950b16afd2d01bc6ff0348224\"\u003e\u003ccode\u003eb7b549b\u003c/code\u003e\u003c/a\u003e v2.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e511bc72777a94c45d004e010c597925092e1efe\"\u003e\u003ccode\u003ee511bc7\u003c/code\u003e\u003c/a\u003e Fix mutability issues with headers input types (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7431\"\u003e#7431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5691f596134c2feb121e595c77a0178921fcce61\"\u003e\u003ccode\u003e5691f59\u003c/code\u003e\u003c/a\u003e Update JsonType containers to read-based collections (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7436\"\u003e#7436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2144213c307691710c9d665700860fc4993c3035\"\u003e\u003ccode\u003e2144213\u003c/code\u003e\u003c/a\u003e Constrain Response.reason to str (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7437\"\u003e#7437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6404f345e562d962abe6700a1c357ec1e7e18232\"\u003e\u003ccode\u003e6404f34\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eprepare_body\u003c/code\u003e stream detection for \u003ccode\u003e__getattr__\u003c/code\u003e-based file wrappers (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7\"\u003e#7\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0b401c76b6e80a4eecf3c690085b2553f6e261ca\"\u003e\u003ccode\u003e0b401c7\u003c/code\u003e\u003c/a\u003e v2.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/86b378d3f60f828daa13ca50aa82e287ff7b66b4\"\u003e\u003ccode\u003e86b378d\u003c/code\u003e\u003c/a\u003e Align Session.get parameters with requests.get (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7429\"\u003e#7429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a4f9a5999bdb9bf2d6e7c8aa973b28cacb17134f\"\u003e\u003ccode\u003ea4f9a59\u003c/code\u003e\u003c/a\u003e Port bpo-39057 to Requests (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.34.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.3 to 4.70.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.70.1 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econtrib.concurrent\u003c/code\u003e: fix no-len iterables (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1830\"\u003e#1830\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1828\"\u003e#1828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: major overhaul (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1819\"\u003e#1819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate AI policy in PR template\u003c/li\u003e\n\u003cli\u003emisc lint \u0026amp; tidy\u003c/li\u003e\n\u003cli\u003eCI: bump workflow actions \u0026amp; pre-commit hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.70.0 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econtrib.concurrent\u003c/code\u003e: major improvements\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003eprocess_map(mp_context, max_tasks_per_child)\u003c/code\u003e, \u003ccode\u003ethread_map(thread_name_prefix)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1265\"\u003e#1265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003etotal\u003c/code\u003e based on shortest iterable length (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse default \u003ccode\u003emax_workers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1543\"\u003e#1543\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1530\"\u003e#1530\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport \u003ccode\u003etimeout\u003c/code\u003e, \u003ccode\u003ebuffersize\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1576\"\u003e#1576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove ETA (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1708\"\u003e#1708\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1161\"\u003e#1161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eas_completed\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1709\"\u003e#1709\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1565\"\u003e#1565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etqdm.concurrent.intepreter_map\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1777\"\u003e#1777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003easyncio\u003c/code\u003e: support iterables with only \u003ccode\u003e__aiter__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1714\"\u003e#1714\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1686\"\u003e#1686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport \u003ccode\u003ereset(float(\u0026quot;inf\u0026quot;))\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1783\"\u003e#1783\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1781\"\u003e#1781\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eframework: test \u0026amp; reduce wheel size (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1782\"\u003e#1782\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.69.1 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econtrib.logging\u003c/code\u003e: preserve filters (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1775\"\u003e#1775\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1581\"\u003e#1581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erich\u003c/code\u003e: misc fixes (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1773\"\u003e#1773\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003esupport generators (without \u003ccode\u003elen\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1391\"\u003e#1391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix potential \u003ccode\u003eAttributeError\u003c/code\u003e on exit (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003etotal=float('inf')\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1781\"\u003e#1781\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix potential \u003ccode\u003eAttributeError\u003c/code\u003e on exit (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1778\"\u003e#1778\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1668\"\u003e#1668\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1537\"\u003e#1537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix minor docs typos (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1780\"\u003e#1780\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1746\"\u003e#1746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.69.0 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003etqdm.asyncio.gather(..., return_exceptions=False)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1776\"\u003e#1776\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1671\"\u003e#1671\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1286\"\u003e#1286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc minor framework updates\n\u003cul\u003e\n\u003cli\u003ebump workflow actions \u0026amp; pre-commit hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.68.4 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etrim to \u003ccode\u003encols\u003c/code\u003e even when \u003ccode\u003e'{bar}' not in bar_format\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1717\"\u003e#1717\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1767\"\u003e#1767\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1658\"\u003e#1658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003etqdm.write\u003c/code\u003e when \u003ccode\u003estdout=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1768\"\u003e#1768\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1654\"\u003e#1654\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.68.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eutils\u003c/code\u003e: delay \u003ccode\u003eos.get_terminal_size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1763\"\u003e#1763\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eautonotebook\u003c/code\u003e: support QtConsole, Spyder, JupyterLite (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1763\"\u003e#1763\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1628\"\u003e#1628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1559\"\u003e#1559\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1283\"\u003e#1283\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1098\"\u003e#1098\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/512\"\u003e#512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eminor docs updates\n\u003cul\u003e\n\u003cli\u003efix typo (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003egit-fame\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003emisc minor framework updates\n\u003cul\u003e\n\u003cli\u003efix \u0026amp; update CI build\u003c/li\u003e\n\u003cli\u003epre-commit: add docs \u0026amp; metadata generation\u003c/li\u003e\n\u003cli\u003emove \u003ccode\u003etox.ini\u003c/code\u003e -\u0026gt; \u003ccode\u003epyproject.toml\u003c/code\u003e, move \u003ccode\u003etox-gh-actions\u003c/code\u003e -\u0026gt; \u003ccode\u003etox-gh\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd Python 3.14, drop 3.7 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/9cf5a12b1f955468a17f0ba3c59092b23e4258ac\"\u003e\u003ccode\u003e9cf5a12\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1830\"\u003e#1830\u003c/a\u003e from eaubin/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/24b9e1e08a097f1c30f2d235b63f9eb25ba47974\"\u003e\u003ccode\u003e24b9e1e\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/2a9e4e82ddba07c5dd6d126e23a4745b76ea49c8\"\u003e\u003ccode\u003e2a9e4e8\u003c/code\u003e\u003c/a\u003e contrib.concurrent: fix no-len iterables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/8d6ff8de5a9066de77d0a9df3e80a022a3dcf146\"\u003e\u003ccode\u003e8d6ff8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1819\"\u003e#1819\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bed379609c2c8300671c784c8f85a185c8cf6fb3\"\u003e\u003ccode\u003ebed3796\u003c/code\u003e\u003c/a\u003e tests: major overhaul\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/4d3d3194d5467e0701bc0f4b836a735273ef0868\"\u003e\u003ccode\u003e4d3d319\u003c/code\u003e\u003c/a\u003e AI policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/5dcb022b55553b60ed2131b64aa5bf1e65470df1\"\u003e\u003ccode\u003e5dcb022\u003c/code\u003e\u003c/a\u003e minor syntax update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/309effe4244bf45427c5add7f1bcf33f98a7b421\"\u003e\u003ccode\u003e309effe\u003c/code\u003e\u003c/a\u003e tests: pre-commit coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/604193aa03b5f5c0ad5f3d441951f0fbb515f1e4\"\u003e\u003ccode\u003e604193a\u003c/code\u003e\u003c/a\u003e tests: slight tidy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/17f1cac07c89943eb0e6082875b3821205308d4f\"\u003e\u003ccode\u003e17f1cac\u003c/code\u003e\u003c/a\u003e CI: bump workflow actions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.3...v4.70.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `transformers` from 5.15.0 to 5.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/transformers/releases\"\u003etransformers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease v5.19.0\u003c/h1\u003e\n\u003ch2\u003eNew Model additions\u003c/h2\u003e\n\u003ch3\u003eEmbeddingGemma2\u003c/h3\u003e\n\n\u003cp\u003eEmbeddingGemma 2 is a multimodal embedding model from Google built on the Gemma 4 architecture. It encodes text, images, audio, and video, individually or combined in one input, into a shared 768-dimensional vector space for cross-modal retrieval, semantic similarity, clustering, and classification. It uses Matryoshka Representation Learning, so embeddings can be truncated to 512, 256, or 128 dimensions. It also offers configurable visual and video token budgets, and unused vision or audio towers can be disabled at load time to save memory.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eLinks:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/transformers/main/en/model_doc/embedding_gemma2\"\u003eDocumentation\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSmthn smthn (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49364\"\u003e#49364\u003c/a\u003e) by \u003ca href=\"https://github.com/vasqu\"\u003e\u003ccode\u003e@​vasqu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/pull/49364\"\u003e#49364\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cp\u003eAll MoE models whose routers compute logits now return them when \u003ccode\u003eoutput_router_logits=True\u003c/code\u003e, following the Qwen3-MoE pattern (a \u003ccode\u003erouter_logits\u003c/code\u003e recorder on the base model, \u003ccode\u003eMoeModelOutputWithPast\u003c/code\u003e from the backbone, and a MoE causal LM output from the head), so code that relied on the previous outputs or their absence should read the router logits from these output classes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Return router logits from every MoE model that computes them (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48920\"\u003e#48920\u003c/a\u003e) by \u003ca href=\"https://github.com/qgallouedec\"\u003e\u003ccode\u003e@​qgallouedec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003eOwlv2ForObjectDetection.embed_image_query\u003c/code\u003e now selects the query box with the highest objectness score, as in the original OWLv2 notebook, instead of the OWL-ViT heuristic, so image-guided query embeddings and detections may differ from earlier releases.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Select the OWLv2 image query by objectness (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49200\"\u003e#49200\u003c/a\u003e) by \u003ca href=\"https://github.com/qgallouedec\"\u003e\u003ccode\u003e@​qgallouedec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ccode\u003e\u0026quot;paged|\u0026quot;\u003c/code\u003e prefix for SDPA and flash attention implementations is deprecated, so users should set the regular attention implementation (e.g. \u003ccode\u003esdpa\u003c/code\u003e or \u003ccode\u003eflash_attention_2\u003c/code\u003e) for continuous batching instead of \u003ccode\u003epaged|sdpa\u003c/code\u003e or \u003ccode\u003epaged|flash_attention_2\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Attention 🚨 Deprecate \u0026quot;paged|\u0026quot; prefix for SDPA and flash  (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49112\"\u003e#49112\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe regular flash and SDPA attention functions (\u003ccode\u003eflash_attention.py\u003c/code\u003e, \u003ccode\u003esdpa_attention.py\u003c/code\u003e) now support continuous batching directly, and \u003ccode\u003e\u0026quot;paged|...\u0026quot;\u003c/code\u003e implementations for these are redirected to them, while eager still requires the \u003ccode\u003e\u0026quot;paged|eager\u0026quot;\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 Attention 🚨 Make regular attention support CB (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49101\"\u003e#49101\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIn continuous batching, the cache update for the index-based and block-table paths is now fused into a single call, which slightly changes the cache update function's behavior and affects any custom code that calls the separate update paths.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 [CB] 🚨 Fuse update for index and block table path (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49088\"\u003e#49088\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eContinuous batching internals changed in preparation for removing \u003ccode\u003e\u0026quot;paged\u0026quot;\u003c/code\u003e: `max\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🚨 [CB] 🚨 Little fixes before removing \u0026quot;paged\u0026quot; (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49069\"\u003e#49069\u003c/a\u003e) by \u003ca href=\"https://github.com/remi-or\"\u003e\u003ccode\u003e@​remi-or\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eParallelization\u003c/h2\u003e\n\u003cp\u003eExpert parallelism gains a token-dispatch implementation, selected via the new \u003ccode\u003eep_dispatch_experts\u003c/code\u003e plan rule and now the default for Qwen3 MoE and Mellum, which removes the requirement that EP size equal TP size. The \u003ccode\u003eTrainer\u003c/code\u003e was also adapted to work with expert parallelism, and the docs now note that PEFT adapters support tensor parallelism. A CI-related fix for pipeline-parallel chart2table inference was also included.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003edistributed\u003c/code\u003e]: adapt Trainer to work Expert Parallel (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48873\"\u003e#48873\u003c/a\u003e) by \u003ca href=\"https://github.com/3outeille\"\u003e\u003ccode\u003e@​3outeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48873\"\u003e#48873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003edistributed\u003c/code\u003e] Add expert-parallel token dispatch, default for Qwen3 MoE (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48865\"\u003e#48865\u003c/a\u003e) by \u003ca href=\"https://github.com/3outeille\"\u003e\u003ccode\u003e@​3outeille\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48865\"\u003e#48865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pp chart2table inference (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49225\"\u003e#49225\u003c/a\u003e) by \u003ca href=\"https://github.com/zucchini-nlp\"\u003e\u003ccode\u003e@​zucchini-nlp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49225\"\u003e#49225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[docs] TP for PEFT adapters (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49060\"\u003e#49060\u003c/a\u003e) by \u003ca href=\"https://github.com/stevhliu\"\u003e\u003ccode\u003e@​stevhliu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49060\"\u003e#49060\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCache\u003c/h2\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/c4c4605f961877852b89b97478536bb3a26b6fd1\"\u003e\u003ccode\u003ec4c4605\u003c/code\u003e\u003c/a\u003e v5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/92cd495f2720c064bc78eb2d93e28704c5bce51f\"\u003e\u003ccode\u003e92cd495\u003c/code\u003e\u003c/a\u003e Smthn smthn (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49364\"\u003e#49364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/a7e8ff2b949679a29d72462effc4da0b57a7b9f3\"\u003e\u003ccode\u003ea7e8ff2\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[CI] Temporarily disable AMD scheduled CI trigger\u0026quot; (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49271\"\u003e#49271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49362\"\u003e#49362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/571c5cc726d4a990def359fd44bcb57450e68990\"\u003e\u003ccode\u003e571c5cc\u003c/code\u003e\u003c/a\u003e ALM testx fIxing... (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49355\"\u003e#49355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/b4526a7658b216e6674f776cf7eac84b346fcd32\"\u003e\u003ccode\u003eb4526a7\u003c/code\u003e\u003c/a\u003e Fix DataCollatorForLanguageModeling ignoring seed=0 (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49349\"\u003e#49349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/5a27d2d2706cbd1ee36d1a8e8441656bb88e7f04\"\u003e\u003ccode\u003e5a27d2d\u003c/code\u003e\u003c/a\u003e Fix explicit kernelization modes for evaluation models (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49339\"\u003e#49339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/23c21ac874b0ea285aaefcf3d20791f016310c9b\"\u003e\u003ccode\u003e23c21ac\u003c/code\u003e\u003c/a\u003e fix(cohere_compass): add video to input_modalities (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49320\"\u003e#49320\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49323\"\u003e#49323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/f1d0d9fbe9d035baf7b6bae2a9eb7b28a3dc4577\"\u003e\u003ccode\u003ef1d0d9f\u003c/code\u003e\u003c/a\u003e GPT-OSS: read the clamped SwiGLU's alpha and limit from the config (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49346\"\u003e#49346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/9921402b20460e6efba90765ca4fae99dcc64abd\"\u003e\u003ccode\u003e9921402\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003edistributed\u003c/code\u003e] Default MoE \u003ccode\u003eep_plans\u003c/code\u003e to token dispatch (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/transformers/commit/8625785e7e3e138a328ec2e678dc198e356e7c6c\"\u003e\u003ccode\u003e8625785\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003edistributed\u003c/code\u003e]: adapt Trainer to work Expert Parallel (\u003ca href=\"https://redirect.github.com/huggingface/transformers/issues/48873\"\u003e#48873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/transformers/compare/v5.15.0...v5.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokenizers` from 0.22.2 to 0.23.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/tokenizers/releases\"\u003etokenizers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.23.3 (python only)\u003c/h2\u003e\n\u003ch1\u003eRelease v0.23.3\u003c/h1\u003e\n\u003cp\u003ePython package release, other packages are unchanged\u003c/p\u003e\n\u003cp\u003e:rotating_light: Fixs a breaking change introduced in v0.23.1\u003c/p\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cp\u003ePatch for the python package with three fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLoosen the \u003ccode\u003ehuggingface_hub\u003c/code\u003e requirements to allow \u003ccode\u003ehuggingface_hub\u003c/code\u003e v2 \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2486#issuecomment-6062880361\"\u003ehuggingface/tokenizers#2486\u003c/a\u003e - Unblocks \u003ccode\u003etransformers\u003c/code\u003e installs\u003c/li\u003e\n\u003cli\u003eFix type hints not resolving for pyright: \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/issues/2456\"\u003ehuggingface/tokenizers#2456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix a breaking change from 0.23.1 regarding truncation and overflowing: \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/issues/2091\"\u003ehuggingface/tokenizers#2091\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/huggingface/tokenizers/compare/v0.23.2...v0.23.3\"\u003ehttps://github.com/huggingface/tokenizers/compare/v0.23.2...v0.23.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.2\u003c/h2\u003e\n\u003cp\u003eThis is the last v0 release, we are moving to v1!!\u003c/p\u003e\n\u003cp\u003eMore details coming soon 👀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate daachorse from 1.0.1 to 3.0.0 by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2050\"\u003ehuggingface/tokenizers#2050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCi test fixes by \u003ca href=\"https://github.com/sebpop\"\u003e\u003ccode\u003e@​sebpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2079\"\u003ehuggingface/tokenizers#2079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid full vocab clone in get_vocab_size() by \u003ca href=\"https://github.com/eunseo9311\"\u003e\u003ccode\u003e@​eunseo9311\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2074\"\u003ehuggingface/tokenizers#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin benchmark jobs to a larger dedicated runner by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2084\"\u003ehuggingface/tokenizers#2084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: target benchmark runners by group, not nonexistent label by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2090\"\u003ehuggingface/tokenizers#2090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBindings: acquire model read-lock once per call instead of per pre-token by \u003ca href=\"https://github.com/sebpop\"\u003e\u003ccode\u003e@​sebpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2072\"\u003ehuggingface/tokenizers#2072\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: split audit in a separate job by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2103\"\u003ehuggingface/tokenizers#2103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: install libcairo on benchmark runners by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2100\"\u003ehuggingface/tokenizers#2100\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(ci): enable npm's trusted publisher for releases by \u003ca href=\"https://github.com/McPatate\"\u003e\u003ccode\u003e@​McPatate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2111\"\u003ehuggingface/tokenizers#2111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump pyo3 to version 0.29 by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2115\"\u003ehuggingface/tokenizers#2115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: add benchmarks for the \u003ccode\u003edecode\u003c/code\u003e API by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2099\"\u003ehuggingface/tokenizers#2099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: cache HF test data and authenticate Hub downloads to avoid rate limits by \u003ca href=\"https://github.com/SBrandeis\"\u003e\u003ccode\u003e@​SBrandeis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2102\"\u003ehuggingface/tokenizers#2102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplementing Parity-aware BPE by \u003ca href=\"https://github.com/cimeister\"\u003e\u003ccode\u003e@​cimeister\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/1974\"\u003ehuggingface/tokenizers#1974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake doc builds faster by \u003ca href=\"https://github.com/mishig25\"\u003e\u003ccode\u003e@​mishig25\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2158\"\u003ehuggingface/tokenizers#2158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump websocket-driver from 0.7.4 to 0.7.5 in /tokenizers/examples/unstable_wasm/www by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2208\"\u003ehuggingface/tokenizers#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump shell-quote from 1.8.3 to 1.10.0 in /tokenizers/examples/unstable_wasm/www by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2244\"\u003ehuggingface/tokenizers#2244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove stale examples (kills 50% of dependabot traffic) by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2285\"\u003ehuggingface/tokenizers#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(node): drop 8 unused devDependencies by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2286\"\u003ehuggingface/tokenizers#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin every action to one SHA, drop stale audit suppressions by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2291\"\u003ehuggingface/tokenizers#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(node): take node security alerts from 33 to 0 by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2287\"\u003ehuggingface/tokenizers#2287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(python): pin the ruff rule set so a ruff release can't redden main by \u003ca href=\"https://github.com/ArthurZucker\"\u003e\u003ccode\u003e@​ArthurZucker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2292\"\u003ehuggingface/tokenizers#2292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a ParityBpeTrainer example and list it in the trainers API docs by \u003ca href=\"https://github.com/cimeister\"\u003e\u003ccode\u003e@​cimeister\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2217\"\u003ehuggingface/tokenizers#2217\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/eunseo9311\"\u003e\u003ccode\u003e@​eunseo9311\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/2074\"\u003ehuggingface/tokenizers#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cimeister\"\u003e\u003ccode\u003e@​cimeister\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/huggingface/tokenizers/pull/1974\"\u003ehuggingface/tokenizers#1974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/huggingface/tokenizers/compare/v0.23.1...v0.23.2\"\u003ehttps://github.com/huggingface/tokenizers/compare/v0.23.1...v0.23.2\u003c/a\u003e\u003c/p\u003e\n\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/301277072263fb3830eb66eec7e47adadf76f1dc\"\u003e\u003ccode\u003e3012770\u003c/code\u003e\u003c/a\u003e comment out semver to run rust tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/62c96d34e54dc4e9bb45a4066141b3e43a0f7eb0\"\u003e\u003ccode\u003e62c96d3\u003c/code\u003e\u003c/a\u003e fix: restore overflowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/580ffcbb416458003f59251d5649b52cbabb184d\"\u003e\u003ccode\u003e580ffcb\u003c/code\u003e\u003c/a\u003e account for text_signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/14e6dce85597c1715dc11bd432f691bd4f95e500\"\u003e\u003ccode\u003e14e6dce\u003c/code\u003e\u003c/a\u003e fix(python): ship submodule stubs as \u0026lt;sub\u0026gt;/\u003cstrong\u003einit\u003c/strong\u003e.pyi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/935453f9c0e65f52c6f8fba95a553042c5fab072\"\u003e\u003ccode\u003e935453f\u003c/code\u003e\u003c/a\u003e chore(python): delete the stale hand-written trainers stub\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/65903e3552c360d8c1d4fb362dfbfd92613e0dde\"\u003e\u003ccode\u003e65903e3\u003c/code\u003e\u003c/a\u003e ci: disable rust and node publishing on the 0.23.x branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/2b110f429756d4c9cc9ee2625712e2dcc14fcf0d\"\u003e\u003ccode\u003e2b110f4\u003c/code\u003e\u003c/a\u003e ci: remove CI.yml, it publishes to PyPI with a token on every tag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/ac1dfefb891198674d7b78880ab8c3f2ed09ec92\"\u003e\u003ccode\u003eac1dfef\u003c/code\u003e\u003c/a\u003e ci(python-release): use main's Trusted Publishing release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/5ea330f567e2cb8c7640ebcaf5454a3b2ee20ac1\"\u003e\u003ccode\u003e5ea330f\u003c/code\u003e\u003c/a\u003e release(python): v0.23.3, allow huggingface_hub \u0026lt;3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/tokenizers/commit/c2b33f8e16dac92ac530bf3ebd8d6c60ab7607c4\"\u003e\u003ccode\u003ec2b33f8\u003c/code\u003e\u003c/a\u003e update release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/tokenizers/compare/v0.22.2...v0.23.3\"\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.3 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull...\n\n_Description has been truncated_","html_url":"https://github.com/charlie12345/vLLM_for_AMD/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/charlie12345%2FvLLM_for_AMD/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"}},{"old_version":"6.168.3","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-14T05:43:14.000Z","version_change":"6.168.3 → 6.168.5","issue":{"uuid":"5842613707","node_id":"PR_kwDOPFo1N88AAAABIUq6TQ","number":309,"state":"open","title":":dependabot: uv(deps): Bump the all-uv group across 1 directory with 5 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-10-14T05:43:14.000Z","updated_at":"2026-10-14T05:48:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":":dependabot: uv(deps): Bump","group_name":"all-uv","update_count":5,"packages":[{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"boto3","old_version":"1.43.106","new_version":"1.43.111","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.43.106","new_version":"1.43.113","repository_url":"https://github.com/boto/botocore"},{"name":"numpy","old_version":"2.5.3","new_version":"2.5.4","repository_url":"https://github.com/numpy/numpy"},{"name":"hypothesis","old_version":"6.168.3","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-uv group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [boto3](https://github.com/boto/boto3) | `1.43.106` | `1.43.111` |\n| [botocore](https://github.com/boto/botocore) | `1.43.106` | `1.43.113` |\n| [numpy](https://github.com/numpy/numpy) | `2.5.3` | `2.5.4` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.3` | `6.168.5` |\n\n\nUpdates `pydantic` from 2.13.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.43.106 to 1.43.111\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c14ee96508bec2751d72e973bc067c9d7ab34793\"\u003e\u003ccode\u003ec14ee96\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.111'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2309640b015e63201c612ee3eeea175941703f98\"\u003e\u003ccode\u003e2309640\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1d6d2d9a8464e704b37da8f9b47f232eeab4a161\"\u003e\u003ccode\u003e1d6d2d9\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d948ed5c4b3ba0e93087113289f0aaaf70cd3c6c\"\u003e\u003ccode\u003ed948ed5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.110'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9b19947c3cfcef75509aa9cf9c95447d8d732282\"\u003e\u003ccode\u003e9b19947\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.110' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/dedcde7ab830a2c18b22ede2cec687f8c83029a4\"\u003e\u003ccode\u003ededcde7\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.110\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e09fb1d72d443fc5a2350f468c9117d3c8d00280\"\u003e\u003ccode\u003ee09fb1d\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/76f85a723a20f562fc0d7eb1437d7b1865e01b7a\"\u003e\u003ccode\u003e76f85a7\u003c/code\u003e\u003c/a\u003e Bump \u003ca href=\"https://github.com/astral-sh/ruff-pre-commit\"\u003ehttps://github.com/astral-sh/ruff-pre-commit\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8afafece9c81678879a0580e69a1b57325db7351\"\u003e\u003ccode\u003e8afafec\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.109'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1a2fc5c27d8830186f75423e25293dc5a97694bc\"\u003e\u003ccode\u003e1a2fc5c\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.109' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.43.106...1.43.111\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `botocore` from 1.43.106 to 1.43.113\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/5f4e0c03f674eeecc713c396f5489ab700b6afc0\"\u003e\u003ccode\u003e5f4e0c0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.113'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0bc9a3380f7ac5ee3498655f25818cd18a853ed4\"\u003e\u003ccode\u003e0bc9a33\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.113\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/d7ce073534345e7d24326bf7fb98ec7b93497753\"\u003e\u003ccode\u003ed7ce073\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/6b11f3e17547936c6f658293588d0fa1757e2e7e\"\u003e\u003ccode\u003e6b11f3e\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/ab57720575ac4fb0f0863caeca93c85e1cb8a1cc\"\u003e\u003ccode\u003eab57720\u003c/code\u003e\u003c/a\u003e Ignore unknown top-level keys in endpoint rulesets (\u003ca href=\"https://redirect.github.com/boto/botocore/issues/3819\"\u003e#3819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/05bce7efcdbc59b10ddfee58ccaa326b0d6b440e\"\u003e\u003ccode\u003e05bce7e\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.112'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/647d6ef1d19f4479f24527e71f9a29459defe29a\"\u003e\u003ccode\u003e647d6ef\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.112' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/90ecfedbd5734b28860317ed2b9235ada5605c3c\"\u003e\u003ccode\u003e90ecfed\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.112\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0005cfb54d570b4a1607a04a378246ea823b82eb\"\u003e\u003ccode\u003e0005cfb\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0723d72cddd310b4ad7c6169d21168298b2ff3f8\"\u003e\u003ccode\u003e0723d72\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.111'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.43.106...1.43.113\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.5.3 to 2.5.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.4 (Oct 10,  2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.5.4 Release Notes\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003eReleased on 2026-10-10.\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eNumPy 2.5.4 is a patch release that fixes bugs discovered after the 2.5.3\nrelease. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMany typing fixes and improvements,\u003c/li\u003e\n\u003cli\u003eA workaround for the MSVC 19.51 bug, see below.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.12-3.15.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003enumpy.linalg.svd\u003c/code\u003e and \u003ccode\u003enumpy.linalg.lstsq\u003c/code\u003e now raise for inputs containing\ninfinities instead of returning garbage results.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed hangs in \u003ccode\u003enumpy.linalg.svd\u003c/code\u003e and \u003ccode\u003enumpy.linalg.lstsq\u003c/code\u003e for certain inputs\ncontaining infinities for recent versions of some LAPACK implementations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003enumpy.linalg.cond\u003c/code\u003e now handles non-finite inputs more consistently.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/32593\"\u003egh-32593\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eStringDType hashing with NaN sentinels\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eStringDType\u003c/code\u003e instances with equivalent floating-point NaN sentinels now\nhave equal hashes. Previously, distinct NaN objects could produce equal\ndtype instances with different hashes, causing dictionary lookups and set\ndeduplication to fail.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/32563\"\u003egh-32563\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003eMaskedArray\u003c/code\u003e resets a fill_value that cannot be represented in a new dtype\u003c/h3\u003e\n\u003cp\u003eA fill_value copied from a source array is now reset to the default fill_value\nfor the new dtype when it cannot be represented in that dtype. Previously the\ncopied value could be stale: ufuncs that change dtype left the result holding a\nfill_value typed for the old dtype, which raised a \u003ccode\u003eTypeError\u003c/code\u003e only when\nsomething later validated it (such as \u003ccode\u003e.view()\u003c/code\u003e), and a floating point\nfill_value that overflows an integer dtype was kept as an out-of-range value\ntogether with a \u003ccode\u003eRuntimeWarning\u003c/code\u003e. Both now fall back to the default,\nincluding when a masked array is passed to \u003ccode\u003eMaskedArray\u003c/code\u003e with a different\n\u003ccode\u003edtype\u003c/code\u003e. A fill_value given explicitly by the user is still validated and\nraises as before. This can now raise a \u003ccode\u003eComplexWarning\u003c/code\u003e if the fill_value is\ncomplex and the new dtype is real.\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/numpy/numpy/commit/a3d0ef1df045b858e68115001fdabc930bb3b68c\"\u003e\u003ccode\u003ea3d0ef1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32969\"\u003e#32969\u003c/a\u003e from charris/prepare-2.5.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/087b5367c84b5296c32c26c415438d87d3888586\"\u003e\u003ccode\u003e087b536\u003c/code\u003e\u003c/a\u003e MAINT: Make OpenBLAS version check use 2.5.x branch.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/91acd879242a679604579895d490c26f864a4b03\"\u003e\u003ccode\u003e91acd87\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.5.4 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9cc555bae07244551829c3a4eb7a635bef6345b3\"\u003e\u003ccode\u003e9cc555b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32956\"\u003e#32956\u003c/a\u003e from charris/backport-typing-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e04b972a306136b8ac9219be199948badafa3475\"\u003e\u003ccode\u003ee04b972\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003edtype[void].names\u003c/code\u003e: allow setting with list (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32943\"\u003e#32943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d9299693d20c3fd1aa83b9464d074632cf59aaac\"\u003e\u003ccode\u003ed929969\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003etimedelta64\u003c/code\u003e: \u003ccode\u003edatetime.timedelta\u003c/code\u003e construction isn't deprecated (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/839467fdbcc1d68b68f4fe2a61d3387107c78394\"\u003e\u003ccode\u003e839467f\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003ema.getmaskarray\u003c/code\u003e: accept array-likes (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32934\"\u003e#32934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/64b721b23f51543ed9316a5fd21a48734760b429\"\u003e\u003ccode\u003e64b721b\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003epolynomial\u003c/code\u003e: accept scalar \u003ccode\u003ecoef\u003c/code\u003e in the poly constructors (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32931\"\u003e#32931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/06b7ad226e41b71919b2d35c50063998eced0b9d\"\u003e\u003ccode\u003e06b7ad2\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003evoid\u003c/code\u003e: accept any \u003ccode\u003edtype: str\u003c/code\u003e in constructor calls (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32928\"\u003e#32928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c7bcd2c0aaca732b87575829cc61508076de1af5\"\u003e\u003ccode\u003ec7bcd2c\u003c/code\u003e\u003c/a\u003e TYP: \u003ccode\u003eplace\u003c/code\u003e: widen \u003ccode\u003emask\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/32926\"\u003e#32926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.5.3...v2.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.3 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.168.5\"\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/ministryofjustice/cica-review-case-documents-airflow/pull/309","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fcica-review-case-documents-airflow/issues/309","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/309/packages"}},{"old_version":"6.168.0","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-13T16:01:47.000Z","version_change":"6.168.0 → 6.168.5","issue":{"uuid":"5833576937","node_id":"PR_kwDOMMa-Ps8AAAABINfDkw","number":10201,"state":"closed","title":"Bump the python-packages group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["size: S","dependency","dependencies","python:uv","pkg:core"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-13T22:04:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-13T16:01:47.000Z","updated_at":"2026-10-13T22:04:55.000Z","time_to_close":21783,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":15,"packages":[{"name":"pydocket","old_version":"0.25.2","new_version":"0.26.1","repository_url":"https://github.com/chrisguidry/docket"},{"name":"exa-py","old_version":"2.22.2","new_version":"2.25.0"},{"name":"tavily-python","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/tavily-ai/tavily-python"},{"name":"inline-snapshot","old_version":"0.35.4","new_version":"0.36.0","repository_url":"https://github.com/15r10nk/inline-snapshot"},{"name":"pytest-mock","old_version":"3.15.1","new_version":"3.16.0","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"beartype","old_version":"0.22.9","new_version":"0.23.0rc2","repository_url":"https://github.com/beartype/beartype"},{"name":"mcp-types","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"azure-identity","old_version":"1.25.3","new_version":"1.26.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cassetter","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/Kludex/cassetter"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"griffecli","old_version":"2.3.0","new_version":"2.3.2"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"},{"name":"ruff","old_version":"0.16.8","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"logfire","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/pydantic/logfire"},{"name":"logfire-api","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/pydantic/logfire"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.25.2` | `0.26.1` |\n| exa-py | `2.22.2` | `2.25.0` |\n| [tavily-python](https://github.com/tavily-ai/tavily-python) | `0.8.4` | `0.8.5` |\n| [inline-snapshot](https://github.com/15r10nk/inline-snapshot) | `0.35.4` | `0.36.0` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.15.1` | `3.16.0` |\n| [beartype](https://github.com/beartype/beartype) | `0.22.9` | `0.23.0rc2` |\n| [mcp-types](https://github.com/modelcontextprotocol/python-sdk) | `2.2.0` | `2.3.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.3` | `1.26.0` |\n| [cassetter](https://github.com/Kludex/cassetter) | `0.13.0` | `0.14.0` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| griffecli | `2.3.0` | `2.3.2` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.8` | `0.16.10` |\n| [logfire](https://github.com/pydantic/logfire) | `5.1.0` | `5.1.1` |\n| [logfire-api](https://github.com/pydantic/logfire) | `5.1.0` | `5.1.1` |\n\n\nUpdates `pydocket` from 0.25.2 to 0.26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisguidry/docket/releases\"\u003epydocket's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython/v0.26.1 - Papers, please\u003c/h2\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/uesleilima\"\u003e\u003ccode\u003e@​uesleilima\u003c/code\u003e\u003c/a\u003e for sending in a great feature to support Redis credential \u003cem\u003eproviders\u003c/em\u003e!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTest Redis 6.2 and 8.10 and Valkey 9.1, and require redis-py 6 by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/517\"\u003echrisguidry/docket#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pydocket into python/ as the first uv workspace member by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/518\"\u003echrisguidry/docket#518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove the Lua scripts into protocol/ for every language to share by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/520\"\u003echrisguidry/docket#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun the same scenarios against each docket implementation by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/521\"\u003echrisguidry/docket#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept a redis-py credential provider in place of URL credentials by \u003ca href=\"https://github.com/uesleilima\"\u003e\u003ccode\u003e@​uesleilima\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/484\"\u003echrisguidry/docket#484\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/uesleilima\"\u003e\u003ccode\u003e@​uesleilima\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/484\"\u003echrisguidry/docket#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisguidry/docket/compare/0.26.0...python/v0.26.1\"\u003ehttps://github.com/chrisguidry/docket/compare/0.26.0...python/v0.26.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.26.0 - The \u003ccode\u003emax\u003c/code\u003e edition\u003c/h2\u003e\n\u003cp\u003eBe careful when you set reasoning to \u003ccode\u003emax\u003c/code\u003e, you may get more than you bargained for!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=AbSehcT19u0\"\u003e\u003cimg src=\"https://img.youtube.com/vi/AbSehcT19u0/0.jpg\" alt=\"What does it look like I'm doing??\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIn preparation for adding Docket implementations in some new languages :crab: :hamster:, I'm shoring up the Python implementation and its tests.  During that process, Opus 5.5 on \u003ccode\u003emax\u003c/code\u003e found a \u003cem\u003elot\u003c/em\u003e of things to work through.  All of these are material reliability improvements in the handling of cancellations and shutdown, and all have been tested against the major downstream libraries, like Prefect and FastMCP.\u003c/p\u003e\n\u003cp\u003eAlso big thanks for the first contribution, \u003ca href=\"https://github.com/skulitom\"\u003e\u003ccode\u003e@​skulitom\u003c/code\u003e\u003c/a\u003e!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump locked dependencies to clear the anyio advisories by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/482\"\u003echrisguidry/docket#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun CI on ubuntu-26.04 instead of ubuntu-latest by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/485\"\u003echrisguidry/docket#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix exponential retry overflow before applying maximum delay by \u003ca href=\"https://github.com/skulitom\"\u003e\u003ccode\u003e@​skulitom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/480\"\u003echrisguidry/docket#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead positional arguments for per-argument Cooldown, Debounce, and RateLimit by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/487\"\u003echrisguidry/docket#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSubscribe to a task's events before reading its state by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/488\"\u003echrisguidry/docket#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefuse to claim a task that was cancelled by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/489\"\u003echrisguidry/docket#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePublish the cancelled state when a task is cancelled before it starts by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/490\"\u003echrisguidry/docket#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReport running tasks in a snapshot on the memory backend by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/500\"\u003echrisguidry/docket#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up a cancelled concurrency waiter on the memory backend by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/501\"\u003echrisguidry/docket#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the all-dependencies group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/491\"\u003echrisguidry/docket#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the CI coverage gate and wrong examples in the docs by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/502\"\u003echrisguidry/docket#502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep the worker running when a task is cancelled before it starts by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/503\"\u003echrisguidry/docket#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep the Redis Cluster test fixture's ports from colliding by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/504\"\u003echrisguidry/docket#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRedeliver tasks that an abrupt worker shutdown interrupts by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/505\"\u003echrisguidry/docket#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCount a task as superseded when its newer generation was cancelled by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/508\"\u003echrisguidry/docket#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead a task's state before and after subscribing to its events by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/507\"\u003echrisguidry/docket#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePublish the cancelled state when a claim refuses a cancelled task by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/506\"\u003echrisguidry/docket#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLeave a cancelled task pending only while the worker shuts down by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/510\"\u003echrisguidry/docket#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeflake two tests that fail on slow CI runners by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/514\"\u003echrisguidry/docket#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop the worker's infrastructure tasks without relying on their cancel by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/515\"\u003echrisguidry/docket#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake the worker crash test lose its cancel on every run by \u003ca href=\"https://github.com/chrisguidry\"\u003e\u003ccode\u003e@​chrisguidry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/516\"\u003echrisguidry/docket#516\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/skulitom\"\u003e\u003ccode\u003e@​skulitom\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisguidry/docket/pull/480\"\u003echrisguidry/docket#480\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/chrisguidry/docket/commit/7a7c3fd3184862c2cac65272b516bbebb6b7cb63\"\u003e\u003ccode\u003e7a7c3fd\u003c/code\u003e\u003c/a\u003e Accept a redis-py credential provider in place of URL credentials (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/46fb8a0f1cf8457b400b8b0d61a2155a105baca2\"\u003e\u003ccode\u003e46fb8a0\u003c/code\u003e\u003c/a\u003e Run the same scenarios against each docket implementation (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/e4a1c4e68309da9ed6d7c9c606ec2adde42df0f3\"\u003e\u003ccode\u003ee4a1c4e\u003c/code\u003e\u003c/a\u003e Move the Lua scripts into protocol/ for every language to share (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/985997652ed248308190b6dc507bd7da6826766c\"\u003e\u003ccode\u003e9859976\u003c/code\u003e\u003c/a\u003e Move pydocket into python/ as the first uv workspace member (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/ab7e40d2b7ad8f81ec9db7fae9d1acdd9b0beb5f\"\u003e\u003ccode\u003eab7e40d\u003c/code\u003e\u003c/a\u003e Test Redis 6.2 and 8.10 and Valkey 9.1, and require redis-py 6 (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/b1d7441499fce51f4e8f500d10364047e5a2167d\"\u003e\u003ccode\u003eb1d7441\u003c/code\u003e\u003c/a\u003e Make the worker crash test lose its cancel on every run (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/36ea4b5bc4554fe534c887a72d68fe2b643d6cee\"\u003e\u003ccode\u003e36ea4b5\u003c/code\u003e\u003c/a\u003e Stop the worker's infrastructure tasks without relying on their cancel (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/1f457b7c16b46f693911a2e0a8eee3c1d7de3651\"\u003e\u003ccode\u003e1f457b7\u003c/code\u003e\u003c/a\u003e Deflake two tests that fail on slow CI runners (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/514\"\u003e#514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/81e39618a34fa88d56172de8417e38074a38ab62\"\u003e\u003ccode\u003e81e3961\u003c/code\u003e\u003c/a\u003e Leave a cancelled task pending only while the worker shuts down (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisguidry/docket/commit/839e366722223fec132c683bffb142093b0ee9f9\"\u003e\u003ccode\u003e839e366\u003c/code\u003e\u003c/a\u003e Publish the cancelled state when a claim refuses a cancelled task (\u003ca href=\"https://redirect.github.com/chrisguidry/docket/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisguidry/docket/compare/0.25.2...python/v0.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `exa-py` from 2.22.2 to 2.25.0\n\nUpdates `tavily-python` from 0.8.4 to 0.8.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tavily-ai/tavily-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `inline-snapshot` from 0.35.4 to 0.36.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/15r10nk/inline-snapshot/releases\"\u003einline-snapshot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ecustomize\u003c/code\u003e hook now receives a \u003ccode\u003esnapshot_value\u003c/code\u003e argument with the\ncorresponding existing snapshot value, or \u003ccode\u003e...\u003c/code\u003e when there is no\ncorresponding snapshot.\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/15r10nk/inline-snapshot/blob/main/CHANGELOG.md\"\u003einline-snapshot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.36.0 — 2026-10-02\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ecustomize\u003c/code\u003e hook now receives a \u003ccode\u003esnapshot_value\u003c/code\u003e argument with the\ncorresponding existing snapshot value, or \u003ccode\u003e...\u003c/code\u003e when there is no\ncorresponding snapshot.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\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/15r10nk/inline-snapshot/commit/a35fc5f509033adb70a4c0f7a69625e24a1c42c7\"\u003e\u003ccode\u003ea35fc5f\u003c/code\u003e\u003c/a\u003e bump: version 0.35.4 → 0.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/15r10nk/inline-snapshot/commit/d0ad531a1a96ba99b584c0cedf5b9b54ac685c53\"\u003e\u003ccode\u003ed0ad531\u003c/code\u003e\u003c/a\u003e feat: customize snapshot value (\u003ca href=\"https://redirect.github.com/15r10nk/inline-snapshot/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/15r10nk/inline-snapshot/compare/0.35.4...0.36.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.15.1 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.16.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-09-27\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/604\"\u003e#604\u003c/a\u003e: Fixed \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e for async functions spied with \u003ccode\u003emocker.spy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/611\"\u003e#611\u003c/a\u003e: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/606\"\u003e#606\u003c/a\u003e: \u003ccode\u003emocker.resetall(return_value=True, side_effect=True)\u003c/code\u003e now also applies to non-callable mocks, such as those returned by \u003ccode\u003emocker.create_autospec(SomeClass, instance=True)\u003c/code\u003e. Previously both arguments were silently ignored for them.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/547\"\u003e#547\u003c/a\u003e: Added \u003ccode\u003eSpyType\u003c/code\u003e for annotating \u003ccode\u003emocker.spy\u003c/code\u003e results.\u003c/li\u003e\n\u003cli\u003eDropped support for EOL Python 3.9.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/147\"\u003e#147\u003c/a\u003e: Removed handling of \u003ccode\u003eRuntimeError: stop called on unstarted patcher\u003c/code\u003e, which can no longer occur in the supported Python versions.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.15.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.16.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-09-27\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#604](https://github.com/pytest-dev/pytest-mock/issues/604) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/604\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e for async functions spied with \u003ccode\u003emocker.spy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#611](https://github.com/pytest-dev/pytest-mock/issues/611) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/611\u0026gt;\u003c/code\u003e_: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#606](https://github.com/pytest-dev/pytest-mock/issues/606) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/606\u0026gt;\u003c/code\u003e_: \u003ccode\u003emocker.resetall(return_value=True, side_effect=True)\u003c/code\u003e now also applies to non-callable mocks, such as those returned by \u003ccode\u003emocker.create_autospec(SomeClass, instance=True)\u003c/code\u003e. Previously both arguments were silently ignored for them.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#547](https://github.com/pytest-dev/pytest-mock/issues/547) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/547\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003eSpyType\u003c/code\u003e for annotating \u003ccode\u003emocker.spy\u003c/code\u003e results.\u003c/li\u003e\n\u003cli\u003eDropped support for EOL Python 3.9.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#147](https://github.com/pytest-dev/pytest-mock/issues/147) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/147\u0026gt;\u003c/code\u003e_: Removed handling of \u003ccode\u003eRuntimeError: stop called on unstarted patcher\u003c/code\u003e, which can no longer occur in the supported Python versions.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.15.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f3b531f93c6d9837edc87ea1a6f4324dc9a2cdf3\"\u003e\u003ccode\u003ef3b531f\u003c/code\u003e\u003c/a\u003e Release 3.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/71ed67309520be160f3e100368705b58758d237a\"\u003e\u003ccode\u003e71ed673\u003c/code\u003e\u003c/a\u003e Fix duplicate_iterators for async spies (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/0797e3d303cc5bbe0a3514b0625f7aeb3fa350b0\"\u003e\u003ccode\u003e0797e3d\u003c/code\u003e\u003c/a\u003e Fix async assertion argument introspection (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/611\"\u003e#611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e24c334d573cfbf6989a31f4e3346676d9d31598\"\u003e\u003ccode\u003ee24c334\u003c/code\u003e\u003c/a\u003e docs: import os in the opening usage example (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/9e7eb7b59cde362c1c8ace2d18ca00fe2d7a1cd1\"\u003e\u003ccode\u003e9e7eb7b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/445fd4d3daa8ed4c6d5428a77880da2e03d2f721\"\u003e\u003ccode\u003e445fd4d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/a8bd0b147afdf6b4bb1a1a3c3c088f32b0240091\"\u003e\u003ccode\u003ea8bd0b1\u003c/code\u003e\u003c/a\u003e Honour resetall() arguments for non-callable mocks (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/606\"\u003e#606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/6559fdfd5b67f096423e604a3a5a7045db2486a0\"\u003e\u003ccode\u003e6559fdf\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/466d026254c949a8fbba8626b894308827be81cf\"\u003e\u003ccode\u003e466d026\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/164defebde25bc31d53a2a64943c5c9aac43b57e\"\u003e\u003ccode\u003e164defe\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.15.1...v3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beartype` from 0.22.9 to 0.23.0rc2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/beartype/beartype/releases\"\u003ebeartype's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBeartype 0.23.0 Release Candidate 2: For Great Glory of Codebase\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFEATURE FREEZE goes \u0026quot;brrr.\u0026quot;\u003c/strong\u003e \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e is the final word in this interminable release cycle. It ends now. \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0\u003c/code\u003e lands next Wednesday (September 30th), a day before CPython 3.15.0 itself lands. For the next week, the \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e issue tracker is frozen in time like a QA Encino Man. No new features will be resolved. No new issues will be fixed (unless they're the QA equivalent of the Deathly Hallows, in which case we all cry). One more time, we gonna celebrate:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Via \u0026quot;pip\u0026quot;, the once-great venerable master packager now fallen on hard times:\r\n$ pip install --upgrade --pre beartype      # \u0026lt;-- you go, pipe-smoking pip\r\n\u003ch1\u003eVia \u0026quot;uv\u0026quot;, the plucky upstart spiky-haired kid wielding a sword larger than its body:\u003c/h1\u003e\n\u003cp\u003e$ uv pip install --upgrade --pre beartype   # \u0026lt;-- when you no longer have the strength to care about lock files\u003c/p\u003e\n\u003ch1\u003eVia \u0026quot;conda\u0026quot;, the corporate scientist in casual lab attire who wants to be your buddy, pal:\u003c/h1\u003e\n\u003cp\u003e$ conda config --add channels conda-forge  # \u0026lt;-- where did python packaging go wrong?\n$ conda install conda-forge::beartype      # \u0026lt;-- it all seemed so simple, once.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://media1.tenor.com/m/nmEqGMVGTJkAAAAC/inazuma-eleven-go-inago.gif\" alt=\"\" /\u003e\n\u003c!-- raw HTML omitted --\u003eFlying socker boy: \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e. Lamb: \u003cem\u003eyour codebase.\u003c/em\u003e Soccer ball: \u003cem\u003eyour bugs.\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e knows that no one is laughing anymore. You've had your fill of this release cycle! Frankly, so have we. An entire year of only crushing bugs has taken its toll on many receding hairlines. The reason there are no new features in \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0\u003c/code\u003e is the same reason I have no hair. When your younger self writes 100,000 lines of buggy code without testing anything, your older self is guaranteed to suffer. Don't do what the young \u003ca href=\"https://github.com/leycec\"\u003e\u003ccode\u003e@​leycec\u003c/code\u003e\u003c/a\u003e did, people. Upgrade to \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0\u003c/code\u003e instead and let something else crush your bugs for once.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e is helping \u003ca href=\"https://github.com/leycec\"\u003e\u003ccode\u003e@​leycec\u003c/code\u003e\u003c/a\u003e and his beautiful science wife to eat food. Thanks entirely to...\u003c/p\u003e\n\u003ch2\u003eGitHub Sponsors: Befriend the Bear and Get a Bear for Life\u003c/h2\u003e\n\u003cp\u003eThis release comes courtesy these proud \u003ca href=\"https://github.com/sponsors/leycec\"\u003eGitHub Sponsors\u003c/a\u003e, without whom everyone in the \u003ca href=\"https://github.com/leycec\"\u003e\u003ccode\u003e@​leycec\u003c/code\u003e\u003c/a\u003e family would currently be eating grasshoppers in the abandoned back lot again:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sesco-llc\"\u003e\u003ccode\u003e@​sesco-llc\u003c/code\u003e\u003c/a\u003e (SESCO Enterprises), \u0026quot;The Power of Innovation in Trading\u0026quot;: \u003c!-- raw HTML omitted --\u003e\u003cem\u003ethis inspires me to get out of the house and do something\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\n\u003ca href=\"https://sescollc.com\"\u003ehttps://sescollc.com\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DylanModesitt\"\u003e\u003ccode\u003e@​DylanModesitt\u003c/code\u003e\u003c/a\u003e (Dylan Modesitt), quantitative strategies energy trading associate: \u003c!-- raw HTML omitted --\u003e\u003cem\u003e...wikipedia, don't fail me now!\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\n\u003ca href=\"https://dylanmodesitt.com\"\u003ehttps://dylanmodesitt.com\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[Tidelift][]\u003c/strong\u003e, graciously paying out recurring income to security-sensitive open-source projects like \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e: \u003c!-- raw HTML omitted --\u003e\u003cem\u003eso much hype\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\n\u003ca href=\"https://www.sonarsource.com/products/sonarqube/advanced-security\"\u003ehttps://www.sonarsource.com/products/sonarqube/advanced-security\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you represent a security-conscious corporate, government, or non-profit, the \u003cem\u003ebest\u003c/em\u003e way bar none for you to support \u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e and secure your own workflow is by subscribing to \u003cstrong\u003e[Tidelift][]\u003c/strong\u003e through \u003cstrong\u003e[SonarQube Advanced Security][].\u003c/strong\u003e Security giant [Sonar][] recently acquired [Tidelift][], guaranteeing the economic viability of the Tidelift model for billions of future open-source projects that have yet to be born. Join the jargon-laden conversation and pay someone else to think about unreadable acronyms like SAST, SCA, and SBOM for once.\u003c/p\u003e\n\u003cp\u003eThanks so much, masters of fintech and lifted tides.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://media1.tenor.com/m/BhQq0Wp4NoUAAAAd/hi-there-hi.gif\" alt=\"\" /\u003e\n\u003c!-- raw HTML omitted --\u003eThe Masters of Fintech and Lifted Tides. \u003cem\u003eThat's who.\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003ePlum and CrossHair Users: \u0026quot;You Know What to Do\u0026quot;\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/beartype\"\u003e\u003ccode\u003e@​beartype\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.23.0rc2\u003c/code\u003e resolves a variety of compatibility issues for both \u003ca href=\"https://github.com/beartype/plum\"\u003e\u003cstrong\u003ePlum\u003c/strong\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/pschanely/crosshair\"\u003e\u003cstrong\u003eCrossHair\u003c/strong\u003e\u003c/a\u003e users. Other downstream dependencies leveraging our \u003ca href=\"https://beartype.readthedocs.io/en/latest/api_door/\"\u003e\u003cstrong\u003epublic \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e API\u003c/strong\u003e\u003c/a\u003e are also likely to benefit.\u003c/p\u003e\n\u003cp\u003eEveryone else may promptly fall asleep. These are not the QA droids you're looking for. :joy_cat: -\u0026gt; :sob:\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://media1.tenor.com/m/GhOS07plGSAAAAAd/godzilla-godzilla-evolve.gif\" alt=\"\" /\u003e\n\u003c!-- raw HTML omitted --\u003e\u003cem\u003esleeping in a burned out coliseum doesn't mean you've hit a new low...\u003c/em\u003e does it?\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003eLastly but Beastly (but not Leastly)...\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/beartype/beartype/commit/c62a014ba2a5265618c1c33881d5cecb23502858\"\u003e\u003ccode\u003ec62a014\u003c/code\u003e\u003c/a\u003e Beartype 0.23.0 Release Candidate 2: For Great Glory of Codebase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/ef906764b511a10f946c4a03d8e429879dc1e060\"\u003e\u003ccode\u003eef90676\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e safe memoization x 2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/2b29eaff58206f12df724367893aaa2bc64431e5\"\u003e\u003ccode\u003e2b29eaf\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e safe memoization x 1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/0d760a1b10e87be6714ed86b1e97f0f212669fed\"\u003e\u003ccode\u003e0d760a1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.door.TypeHint\u003c/code\u003e memoization.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/6e8ba2d7138949c69a8f1755fd4f849db052aecb\"\u003e\u003ccode\u003e6e8ba2d\u003c/code\u003e\u003c/a\u003e PEP 695 circular \u003ccode\u003etype\u003c/code\u003e aliases.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/61561b1d940d361c0ccb2cade1b141922900e0e2\"\u003e\u003ccode\u003e61561b1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eTypeHint.__eq__\u003c/code\u003e and \u003ccode\u003e__hash__\u003c/code\u003e consistency x 4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/6a06c9e6f62a9a35c4f0e255d6dd81d5e5efed4c\"\u003e\u003ccode\u003e6a06c9e\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eTypeHint.__eq__\u003c/code\u003e and \u003ccode\u003e__hash__\u003c/code\u003e consistency x 3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/5fa5e6905776fc88ef8347e23bae4b91fe266568\"\u003e\u003ccode\u003e5fa5e69\u003c/code\u003e\u003c/a\u003e CrossHair import hook.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/70aec9397f6aacb7384933b76beb6e7da7d43e4e\"\u003e\u003ccode\u003e70aec93\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.typing\u003c/code\u003e missing attribute exception x 2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beartype/beartype/commit/cee4d5a2750c464cd144435526ee9e2120daef08\"\u003e\u003ccode\u003ecee4d5a\u003c/code\u003e\u003c/a\u003e \u003ccode\u003ebeartype.typing\u003c/code\u003e missing attribute exception x 1.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/beartype/beartype/compare/v0.22.9...v0.23.0rc2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp-types` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp-types's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003epip install -U mcp\u003c/code\u003e. Docs: \u003ca href=\"https://py.sdk.modelcontextprotocol.io/\"\u003ehttps://py.sdk.modelcontextprotocol.io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMostly fixes, plus three new options. A few things behave differently, so skim these first:\u003c/p\u003e\n\u003ch2\u003eBehaviour changes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003ehttpx2\u0026gt;=2.10.0\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt was \u003ccode\u003e\u0026gt;=2.5.0\u003c/code\u003e. The new \u003ccode\u003emax_sse_event_size\u003c/code\u003e option needs it.\u003c/li\u003e\n\u003cli\u003eNothing to do unless you pin \u003ccode\u003ehttpx2\u003c/code\u003e below 2.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eA tool with an invalid \u003ccode\u003ex-mcp-header\u003c/code\u003e annotation fails at registration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3620\"\u003e#3620\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@mcp.tool()\u003c/code\u003e, \u003ccode\u003eadd_tool\u003c/code\u003e and \u003ccode\u003eTool.from_function\u003c/code\u003e raise \u003ccode\u003eInvalidSignature\u003c/code\u003e, naming the tool and the problem.\u003c/li\u003e\n\u003cli\u003eUntil now the server started, and 2026-07-28 clients silently dropped the tool from their listing.\u003c/li\u003e\n\u003cli\u003eRefused: anything other than a plain \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e or \u003ccode\u003ebool\u003c/code\u003e parameter (so also \u003ccode\u003estr | None\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, lists and enums), a header name that isn't a valid token, and two names that differ only by case.\u003c/li\u003e\n\u003cli\u003eFor an optional header parameter, give the schema directly: \u003ccode\u003eAnnotated[str | None, WithJsonSchema({\u0026quot;type\u0026quot;: \u0026quot;string\u0026quot;, \u0026quot;x-mcp-header\u0026quot;: \u0026quot;Region\u0026quot;})] = None\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eEmpty \u003ccode\u003e_meta\u003c/code\u003e and \u003ccode\u003eparams\u003c/code\u003e are no longer sent\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOn 2025-11-25 and earlier connections, 2.x sent \u003ccode\u003e\u0026quot;_meta\u0026quot;: {}\u003c/code\u003e on every request. Some servers reject that. It is now left out, as in v1.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eping\u003c/code\u003e and list requests without a cursor go out with no \u003ccode\u003eparams\u003c/code\u003e member.\u003c/li\u003e\n\u003cli\u003eOn the receiving side \u003ccode\u003ectx.meta\u003c/code\u003e is \u003ccode\u003eNone\u003c/code\u003e rather than \u003ccode\u003e{}\u003c/code\u003e, and middleware sees \u003ccode\u003ectx.params\u003c/code\u003e as \u003ccode\u003eNone\u003c/code\u003e for a request without params.\u003c/li\u003e\n\u003cli\u003e2026-07-28 connections are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003einitialize\u003c/code\u003e leaves out \u003ccode\u003eexperimental\u003c/code\u003e when none is configured\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt used to send \u003ccode\u003e\u0026quot;experimental\u0026quot;: {}\u003c/code\u003e. \u003ccode\u003eserver/discover\u003c/code\u003e already left it out.\u003c/li\u003e\n\u003cli\u003eClient code reading \u003ccode\u003ecapabilities.experimental\u003c/code\u003e on a legacy connection should handle \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMcp-Param-*\u003c/code\u003e validation looks the tool up by name\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e no longer runs \u003ccode\u003etools/list\u003c/code\u003e for every \u003ccode\u003etools/call\u003c/code\u003e, so middleware no longer sees that extra request.\u003c/li\u003e\n\u003cli\u003eThe registered schema is what gets checked. Middleware that filters or rewrites \u003ccode\u003etools/list\u003c/code\u003e no longer affects it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAn interactive OAuth login no longer counts against request timeouts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe timeout pauses while \u003ccode\u003eOAuthClientProvider\u003c/code\u003e waits on \u003ccode\u003eredirect_handler\u003c/code\u003e and \u003ccode\u003ecallback_handler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThis fixes \u003ccode\u003eClient(mode=\u0026quot;auto\u0026quot;)\u003c/code\u003e settling on \u003ccode\u003e2025-11-25\u003c/code\u003e when the login took longer than 10 seconds.\u003c/li\u003e\n\u003cli\u003eA request timeout no longer ends a login nobody finishes. Put a limit inside \u003ccode\u003ecallback_handler\u003c/code\u003e if you need one.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emax_sse_event_size=\u003c/code\u003e on \u003ccode\u003estreamable_http_client\u003c/code\u003e and \u003ccode\u003eStreamableHttpParameters\u003c/code\u003e. The default stays 1 MiB per SSE event; raise it, or pass \u003ccode\u003eNone\u003c/code\u003e, for larger tool results (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer(subscriptions=False)\u003c/code\u003e stops serving \u003ccode\u003esubscriptions/listen\u003c/code\u003e and advertises \u003ccode\u003elistChanged\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e as false (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3626\"\u003e#3626\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eServer(get_tool_input_schema=...)\u003c/code\u003e lets a low-level server supply a tool's schema for header validation without running its \u003ccode\u003etools/list\u003c/code\u003e handler (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eClient.call_tool\u003c/code\u003e re-lists the tools and retries once after a \u003ccode\u003eHeaderMismatch\u003c/code\u003e (\u003ccode\u003e-32020\u003c/code\u003e) rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ectx: Context[AppState]\u003c/code\u003e works on prompts and resource templates, not only on tools (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3624\"\u003e#3624\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn explicit \u003ccode\u003e\u0026quot;structuredContent\u0026quot;: null\u003c/code\u003e is checked against the output schema instead of being treated as missing (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3621\"\u003e#3621\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eprogress_callback\u003c/code\u003e that raises no longer fails the call on an in-process \u003ccode\u003eClient(server)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3623\"\u003e#3623\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eClient OpenTelemetry spans record JSON-RPC error responses. With \u003ccode\u003emode=\u0026quot;auto\u0026quot;\u003c/code\u003e, connecting to a server without \u003ccode\u003eserver/discover\u003c/code\u003e now shows one \u003ccode\u003eERROR\u003c/code\u003e span for the probe (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estdio_client\u003c/code\u003e resolves the executable off the event loop on Windows (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3510\"\u003e#3510\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/modelcontextprotocol/python-sdk/commit/2118f14f8a19bc158d8a1cf90af58d85d187f849\"\u003e\u003ccode\u003e2118f14\u003c/code\u003e\u003c/a\u003e docs: refresh translations for recent English changes (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3636\"\u003e#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ed9b2d61823b3800de4c48abb23b951ad3a50834\"\u003e\u003ccode\u003eed9b2d6\u003c/code\u003e\u003c/a\u003e Stop counting an interactive OAuth login against request timeouts (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/d5cebd13defe97bf5bacb93496f132d4173cda23\"\u003e\u003ccode\u003ed5cebd1\u003c/code\u003e\u003c/a\u003e Keep inline-snapshot disabled when pytest runs in a terminal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3634\"\u003e#3634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c15566c9dd4828b8082fb7693060e3a0fd67e657\"\u003e\u003ccode\u003ec15566c\u003c/code\u003e\u003c/a\u003e Link What's new to the Header parameters page (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/4d29994023576e4b04e06c9ff2f32757abc50463\"\u003e\u003ccode\u003e4d29994\u003c/code\u003e\u003c/a\u003e Let a newer Deploy Docs run cancel the one in progress (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3633\"\u003e#3633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0acea605135759a2228a33eaa7d792fea2c2282b\"\u003e\u003ccode\u003e0acea60\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c54075ccb8793e9b0d37f0c9e2c58dfd0256c23d\"\u003e\u003ccode\u003ec54075c\u003c/code\u003e\u003c/a\u003e Look the tool schema up by name for Mcp-Param-* validation instead of running...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9afccae3d0bff4062add01b7fb746634b9aad2a7\"\u003e\u003ccode\u003e9afccae\u003c/code\u003e\u003c/a\u003e Retry a tool call once after a HeaderMismatch rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cafa33b3530b0af2e4a8467d11f92bc1cb00368e\"\u003e\u003ccode\u003ecafa33b\u003c/code\u003e\u003c/a\u003e Record JSON-RPC error responses on the client OpenTelemetry span (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0b2fd3ea60efb16b349e8c887cf91bf2f9f773fc\"\u003e\u003ccode\u003e0b2fd3e\u003c/code\u003e\u003c/a\u003e Omit an empty _meta and empty params from outbound requests (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-identity` from 1.25.3 to 1.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/releases\"\u003eazure-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.26.0\u003c/h2\u003e\n\u003ch2\u003e1.26.0 (2026-09-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eManagedIdentityCredential\u003c/code\u003e now supports user-assigned managed identities on Azure Arc-enabled servers. An identity can be selected by client ID, object ID, or resource ID. Token responses that do not confirm the requested identity are rejected. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/48967\"\u003e#48967\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed synchronous Service Fabric managed identity authentication with MSAL 1.39.0 and later. Service Fabric now uses the session from an Azure Core \u003ccode\u003eRequestsTransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/48967\"\u003e#48967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an issue where \u003ccode\u003eAuthorizationCodeCredential\u003c/code\u003e and the asynchronous \u003ccode\u003eOnBehalfOfCredential\u003c/code\u003e could return a cached token for another account when multiple credentials shared a token cache. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/49001\"\u003e#49001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eRequestIdPolicy\u003c/code\u003e to the default pipeline policies to ensure a unique \u003ccode\u003ex-ms-client-request-id\u003c/code\u003e header is sent with each request. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46070\"\u003e#46070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCertificateCredential\u003c/code\u003e now passes the PEM private key to MSAL as a \u003ccode\u003estr\u003c/code\u003e rather than \u003ccode\u003ebytes\u003c/code\u003e, matching MSAL's documented \u003ccode\u003eclient_credential\u003c/code\u003e contract. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46801\"\u003e#46801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.39.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/30d8bb95bf21f28fc5ed7a0fc9da43a46765c81e\"\u003e\u003ccode\u003e30d8bb9\u003c/code\u003e\u003c/a\u003e [identity] prepare azure-identity 1.26.0 release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49290\"\u003e#49290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c7148b7494ddfe0f726e35168fac7e513d458a90\"\u003e\u003ccode\u003ec7148b7\u003c/code\u003e\u003c/a\u003e [identity] Enable user-assigned managed identity for AzureArcCredential (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/48967\"\u003e#48967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c5b1f4f9138942a3746091c4dac7eda67a08edf2\"\u003e\u003ccode\u003ec5b1f4f\u003c/code\u003e\u003c/a\u003e [Identity] Fix identity cache issue (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49001\"\u003e#49001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9d085c1814586b0d4e91da6b463d288901c44c8d\"\u003e\u003ccode\u003e9d085c1\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-compute-bulkaction]-generated-from-SDK Generation - Python...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/efc412d8c56bbc428a12c057042a7c20818d1322\"\u003e\u003ccode\u003eefc412d\u003c/code\u003e\u003c/a\u003e [TA] fix release error (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49261\"\u003e#49261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3d9b8b3d98abc1191457f994f759f6b407dd9238\"\u003e\u003ccode\u003e3d9b8b3\u003c/code\u003e\u003c/a\u003e Prepare Responses 2.3.0b2 release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49281\"\u003e#49281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/8e49d150aaf513e014f6bef49e72c3e257b6c304\"\u003e\u003ccode\u003e8e49d15\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-resiliencemanagement]-generated-from-SDK Generation - Pyth...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ef68c78fa2bc6013e97bbb2335935f0f7e75ade0\"\u003e\u003ccode\u003eef68c78\u003c/code\u003e\u003c/a\u003e Preserve canonical agent reference in response snapshots (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49256\"\u003e#49256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3754db9e571e7f68407030d945b2aef1fd28cfa8\"\u003e\u003ccode\u003e3754db9\u003c/code\u003e\u003c/a\u003e Configurations:  'specification/applink/AppLink.Management/tspconfig.yaml', a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/0929352f45d0c3cea2fcadd4eacefffbf937abef\"\u003e\u003ccode\u003e0929352\u003c/code\u003e\u003c/a\u003e [Mgmt] Make review drafts and incomplete outcomes reliable (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/49275\"\u003e#49275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-identity_1.25.3...azure-identity_1.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cassetter` from 0.13.0 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/cassetter/releases\"\u003ecassetter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0 - Assert on what your code sends\u003c/h2\u003e\n\u003ch2\u003e🔎 Assert on what your code sends\u003c/h2\u003e\n\u003cp\u003eCassetter 0.14.0 lets tests check what the code actually sent, catch recordings a test stopped using, and filter whole families of headers.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add cassetter==0.14.0\nnpm install --save-dev cassetter@0.14.0\ncargo add cassetter@0.14.0 reqwest\ngo get github.com/Kludex/cassetter/go@v0.14.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ecassette.sent_requests\u003c/code\u003e holds the HTTP requests the code sent during the test\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/pull/140\"\u003e#140\u003c/a\u003e), whether they were replayed or went live. The default matcher ignores the body, so asserting on \u003ccode\u003ecassette.requests\u003c/code\u003e keeps passing after the code stops sending a field. Requests are captured before hooks and scrubbing and are never saved.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eon_unplayed\u003c/code\u003e reports recordings a passing test didn't use\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/pull/139\"\u003e#139\u003c/a\u003e). Set \u003ccode\u003e\u0026quot;warn\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;fail\u0026quot;\u003c/code\u003e in \u003ccode\u003evcr_config\u003c/code\u003e, on the marker, or with the \u003ccode\u003evcr_on_unplayed\u003c/code\u003e ini option. Only passing tests on replay-only cassettes are checked, and unplayed interactions are listed per protocol.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efilter_headers\u003c/code\u003e accepts \u003ccode\u003e*\u003c/code\u003e patterns and \u003ccode\u003e!\u003c/code\u003e exceptions\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/pull/141\"\u003e#141\u003c/a\u003e). \u003ccode\u003e[\u0026quot;x-*\u0026quot;, \u0026quot;!x-amzn-bedrock-*\u0026quot;]\u003c/code\u003e drops every \u003ccode\u003ex-\u003c/code\u003e header except Bedrock's. Plain names are compared faster than before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Upgrading\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003efilter_headers\u003c/code\u003e entry containing \u003ccode\u003e*\u003c/code\u003e or starting with \u003ccode\u003e!\u003c/code\u003e is now a pattern, not a literal header name.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/cassetter/compare/v0.13.0...v0.14.0\"\u003ev0.13.0...v0.14.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/Kludex/cassetter/commit/89f2d972cd9ed649fa55808ca232727cc5f4e51d\"\u003e\u003ccode\u003e89f2d97\u003c/code\u003e\u003c/a\u003e Match header filters with \u003ccode\u003e*\u003c/code\u003e and keep headers with \u003ccode\u003e!\u003c/code\u003e entries (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/141\"\u003e#141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/cassetter/commit/6740b25e356845b699d95f23b149b44b17efa264\"\u003e\u003ccode\u003e6740b25\u003c/code\u003e\u003c/a\u003e Add an opt-in check for interactions a passing test left unplayed (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/139\"\u003e#139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/cassetter/commit/8a5f6066b78aa58a187147f8b2cd0eb38921e2b0\"\u003e\u003ccode\u003e8a5f606\u003c/code\u003e\u003c/a\u003e Capture the HTTP requests the code sends in \u003ccode\u003ecassette.sent_requests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/cassetter/commit/cfbe47f1f5ab4fa9a97f07cf5dc8b594279591c2\"\u003e\u003ccode\u003ecfbe47f\u003c/code\u003e\u003c/a\u003e Create the release tag from the GitHub release in \u003ccode\u003eRELEASING.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/cassetter/issues/138\"\u003e#138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/cassetter/compare/v0.13.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.0 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `griffecli` from 2.3.0 to 2.3.2\n\nUpdates `mypy` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 2.4\u003c/h2\u003e\n\u003cp\u003eWe've just uploaded mypy 2.4.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.15 Support\u003c/h3\u003e\n\u003cp\u003eMypy 2.4 supports running on Python 3.15 and type checking most Python\n3.15 features. This includes the new builtin \u003ccode\u003esentinel\u003c/code\u003e type for\nsentinel values (PEP 661), which mypy now supports (see below for\ndetails). Lazy imports (PEP 810) and unpacking in comprehensions\n(PEP 798) are also supported. Closed TypedDicts (PEP 728) have been\nsupported since mypy 2.2, but the \u003ccode\u003eextra_items\u003c/code\u003e TypedDict argument,\nalso introduced in PEP 728, is still unsupported. Support for\n\u003ccode\u003eextra_items\u003c/code\u003e will be added in a future mypy release.\u003c/p\u003e\n\u003ch3\u003eNative Parser Enabled by Default\u003c/h3\u003e\n\u003cp\u003eMypy now uses the new native parser by default. It's based on the Ruff\nparser, and it's significantly faster than the legacy parser, which\nuses the stdlib \u003ccode\u003east\u003c/code\u003e module. The native parser also has other\nbenefits:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou can target newer Python versions and use recent Python syntax\neven when running mypy on an older Python version. For example, you\ncan use \u003ccode\u003e--python-version 3.15\u003c/code\u003e when running mypy on Python 3.14.\u003c/li\u003e\n\u003cli\u003eStub files can use syntax that is newer than the target Python\nversion. For example, stubs can use the PEP 695 generic class syntax\n(\u003ccode\u003eclass Box[T]: ...\u003c/code\u003e) when running on or targeting Python 3.10.\u003c/li\u003e\n\u003cli\u003eParallel type checking requires the native parser.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe legacy parser is still available through \u003ccode\u003e--no-native-parser\u003c/code\u003e, or\n\u003ccode\u003enative_parser = False\u003c/code\u003e in the config file (\u003ccode\u003enative_parser = false\u003c/code\u003e\nunder \u003ccode\u003e[tool.mypy]\u003c/code\u003e in pyproject.toml). We are planning to remove the\nlegacy parser in early 2027. If you run into a problem with the native\nparser, please report it on the\n\u003ca href=\"https://github.com/python/mypy/issues\"\u003eissue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUnlike the legacy parser, the native parser doesn't support type\ncomments for variables defined by \u003ccode\u003efor\u003c/code\u003e and \u003ccode\u003ewith\u003c/code\u003e statements. These\ntype comments are silently ignored, and the types of the variables are\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/935ba8afba7ceacca0651579450c74339f343016\"\u003e\u003ccode\u003e935ba8a\u003c/code\u003e\u003c/a\u003e Bump version to 2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/334a678967dc6bcda3d3f8cb82e253dd61fa2be9\"\u003e\u003ccode\u003e334a678\u003c/code\u003e\u003c/a\u003e Add link for PR 22066 in mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22082\"\u003e#22082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/fe69660bcdaa76cccb1aedbb4b9c1c7627215571\"\u003e\u003ccode\u003efe69660\u003c/code\u003e\u003c/a\u003e Finalize mypy 2.4 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22080\"\u003e#22080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/541fd87ac53581fb3c511b277fd780ec4e869c95\"\u003e\u003ccode\u003e541fd87\u003c/code\u003e\u003c/a\u003e Various mypy 2.4 changelog updates (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22077\"\u003e#22077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b231182c0b2993918f74594236bda7d3ec6fcbe5\"\u003e\u003ccode\u003eb231182\u003c/code\u003e\u003c/a\u003e Update native parser docs (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22078\"\u003e#22078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/04fe42ce217f120a4de2c1fd62b71ef77452d699\"\u003e\u003ccode\u003e04fe42c\u003c/code\u003e\u003c/a\u003e Initial Changelog for Mypy 2.4 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22071\"\u003e#22071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/06174941bca0e88567441ee3cb0ffaef0dd22e2c\"\u003e\u003ccode\u003e0617494\u003c/code\u003e\u003c/a\u003e Quick fix for non UTF-8 encodings with new parser (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22066\"\u003e#22066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b2f9b60eae5ac7cd9c6a60650b128815bb703daf\"\u003e\u003ccode\u003eb2f9b60\u003c/code\u003e\u003c/a\u003e Bump librt to 0.16.0 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22067\"\u003e#22067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d798dcb9589f9bd62e625a97d8db23ad9a678fa\"\u003e\u003ccode\u003e9d798dc\u003c/code\u003e\u003c/a\u003e Sync typeshed (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22054\"\u003e#22054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0861bb6450d6d3658e44dbca9cd2ba478faf3c1d\"\u003e\u003ccode\u003e0861bb6\u003c/code\u003e\u003c/a\u003e Reduce max protocol stack size to 20 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/22053\"\u003e#22053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v2.3.1...v2.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.16.8 to 0.16.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.16.10\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ruff/releases/download/0.16.10/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.16.10\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/ruff/blob/0.16.10/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-10-01.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a migration guide for categories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28087\"\u003e#28087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add rule for context manager iterator annotations (\u003ccode\u003eUP052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29000\"\u003e#29000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory used by diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28951\"\u003e#28951\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid running \u003ccode\u003euv format\u003c/code\u003e in untrusted workspaces (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28873\"\u003e#28873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix links to moved changelog sections and renamed mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28941\"\u003e#28941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.15 as a supported version (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28907\"\u003e#28907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ty as a type checker example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28906\"\u003e#28906\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/29047\"\u003e#29047\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spaceone\"\u003e\u003ccode\u003e@​spaceone\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HardMax71\"\u003e\u003ccode\u003e@​HardMax71\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-09-24.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid false positives for overloaded division (\u003ccode\u003eRUF069\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28309\"\u003e#28309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Avoid false positives for calls with keyword arguments (\u003ccode\u003eB009\u003c/code\u003e, \u003ccode\u003eB010\u003c/code\u003e, \u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28776\"\u003e#28776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow lazy imports to be used in deferred annotations (\u003ccode\u003eTID255\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28767\"\u003e#28767\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LibCST-based fixes for Python 3.15 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/28616\"\u003e#28616\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/3265ed1f944c98bb4c04d632fbefb1257cdb583d\"\u003e\u003ccode\u003e3265ed1\u003c/code\u003e\u003c/a\u003e Bump version to 0.16.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29055\"\u003e#29055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e786964450e75d904c288a1e59ae2b196d0b9c47\"\u003e\u003ccode\u003ee786964\u003c/code\u003e\u003c/a\u003e Authorize shared PR security-review workflow to publish findings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29052\"\u003e#29052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a81291e9db2f67039d159e7490b988e6c25c7a0f\"\u003e\u003ccode\u003ea81291e\u003c/code\u003e\u003c/a\u003e [ty] Defer uv workspace discovery until after project configuration (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28525\"\u003e#28525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b6a74d26cbe6b45b3eb2992041714461bd4ceb5b\"\u003e\u003ccode\u003eb6a74d2\u003c/code\u003e\u003c/a\u003e [ty] Refresh uv project metadata when uv files change (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28529\"\u003e#28529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/41d30df6fdbe215390b3acb46e8cd4017f65580d\"\u003e\u003ccode\u003e41d30df\u003c/code\u003e\u003c/a\u003e Update Rust toolchain to 1.99 and MSRV to 1.97 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29047\"\u003e#29047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/317e0a3ab75878eba6e3b78c57f73d47108e2a8e\"\u003e\u003ccode\u003e317e0a3\u003c/code\u003e\u003c/a\u003e [ty] Bound nested callable signature display (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29049\"\u003e#29049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8546752d9d5dac8da78c8abba380600cfe573874\"\u003e\u003ccode\u003e8546752\u003c/code\u003e\u003c/a\u003e [ty] Fix member lookup on union-bounded type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29018\"\u003e#29018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/56180bcf800d6e45fb1c4b4113e97501b8f128c5\"\u003e\u003ccode\u003e56180bc\u003c/code\u003e\u003c/a\u003e [ty] Specialize instance members once (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29043\"\u003e#29043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aa9a1ff88aa83b3f01360ef5b3cb04b2be187206\"\u003e\u003ccode\u003eaa9a1ff\u003c/code\u003e\u003c/a\u003e [ty] Avoid stale I/O diagnostics when closing deleted files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/28988\"\u003e#28988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/2d253467b5153f82d26c51d49eb8d4156f1768bf\"\u003e\u003ccode\u003e2d25346\u003c/code\u003e\u003c/a\u003e [ty] Improve \u003ccode\u003eunresolved-import\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/29039\"\u003e#29039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.16.8...0.16.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logfire` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/logfire/releases\"\u003elogfire's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle project setup for accounts without organizations by \u003ca href=\"https://github.com/strawgate\"\u003e\u003ccode\u003e@​strawgate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2470\"\u003e#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable TCP keepalive and recycle idle connections in Logfire's HTTP sessions by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2476\"\u003e#2476\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/pydantic/logfire/blob/v5.1.1/CHANGELOG.md\"\u003elogfire's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v5.1.1] (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle project setup for accounts without organizations by \u003ca href=\"https://github.com/strawgate\"\u003e\u003ccode\u003e@​strawgate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2470\"\u003e#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable TCP keepalive and recycle idle connections in Logfire's HTTP sessions by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2476\"\u003e#2476\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/logfire/commit/6b5ac61efd7cb76f62daf4e247dc31824d1cd1e6\"\u003e\u003ccode\u003e6b5ac61\u003c/code\u003e\u003c/a\u003e Release v5.1.1 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/2483\"\u003e#2483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/c26516e4115cd8b7963ab641b380a61dc5c228b5\"\u003e\u003ccode\u003ec26516e\u003c/code\u003e\u003c/a\u003e [v5] Enable TCP keepalive and recycle idle connections in Logfire's HTTP sess...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/a5c9fdbc115dd022b8a30e9e5743c47e6887c2fb\"\u003e\u003ccode\u003ea5c9fdb\u003c/code\u003e\u003c/a\u003e [v5] Handle project setup for accounts without organizations (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/2470\"\u003e#2470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/logfire/compare/v5.1.0...v5.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logfire-api` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/logfire/releases\"\u003elogfire-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle project setup for accounts without organizations by \u003ca href=\"https://github.com/strawgate\"\u003e\u003ccode\u003e@​strawgate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2470\"\u003e#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable TCP keepalive and recycle idle connections in Logfire's HTTP sessions by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/2476\"\u003e#2476\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/pydantic/logfire/blob/v5.1.1/CHANGELOG.md\"\u003elogfire-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v5.1.1] (2026-09-25...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n\u003ca href=\"https://cubic.dev/pr/pydantic/pydantic-ai/pull/10201?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"View guided diff\" src=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\u003c!-- End of auto-generated description by cubic. --\u003e","html_url":"https://github.com/pydantic/pydantic-ai/pull/10201","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydantic%2Fpydantic-ai/issues/10201","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10201/packages"}},{"old_version":"6.168.0","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-13T02:32:29.000Z","version_change":"6.168.0 → 6.168.5","issue":{"uuid":"5823498819","node_id":"PR_kwDOPWL5l88AAAABIFa1gg","number":50,"state":"open","title":"deps-dev(deps-dev): bump hypothesis from 6.168.0 to 6.168.5","user":"dependabot[bot]","labels":[],"assignees":["SatvikPraveen"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-13T02:32:29.000Z","updated_at":"2026-10-13T02:32:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps-dev(deps-dev)","packages":[{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.168.0 to 6.168.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.0...v6.168.5\"\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=hypothesis\u0026package-manager=pip\u0026previous-version=6.168.0\u0026new-version=6.168.5)](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/SatvikPraveen/ScipyMasterPro/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatvikPraveen%2FScipyMasterPro/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"}},{"old_version":"6.168.1","new_version":"6.168.3","update_type":"patch","path":null,"pr_created_at":"2026-10-13T01:17:34.000Z","version_change":"6.168.1 → 6.168.3","issue":{"uuid":"5822829753","node_id":"PR_kwDOIlsDF88AAAABIE5aMw","number":1594,"state":"open","title":"Bump hypothesis from 6.168.1 to 6.168.3","user":"dependabot[bot]","labels":["dependencies","large","📦 dependencies","python:uv","5-20 min review"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-13T01:17:34.000Z","updated_at":"2026-10-13T01:21:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"hypothesis","old_version":"6.168.1","new_version":"6.168.3","repository_url":"https://github.com/HypothesisWorks/hypothesis"}],"path":null,"ecosystem":"pip"},"body":"Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.168.1 to 6.168.3.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a\"\u003e\u003ccode\u003e44b82b2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.3 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756\"\u003e\u003ccode\u003eaeaafb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888\"\u003e#4888\u003c/a\u003e from gpacix/fix-quadratic-statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981\"\u003e\u003ccode\u003ef3f4a29\u003c/code\u003e\u003c/a\u003e wording, remove hardcoded test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7fabb948190bcf220ae577f0b9a9826fd1d5c7a3\"\u003e\u003ccode\u003e7fabb94\u003c/code\u003e\u003c/a\u003e Add RELEASE.rst and AUTHORS.rst changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0ab4e3883e68bf27011e393c6bed498eea50ed81\"\u003e\u003ccode\u003e0ab4e38\u003c/code\u003e\u003c/a\u003e Summarize statistics events in linear time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/32ebeb29374b1b2274e42eea2ae703a6cdcdc4ec\"\u003e\u003ccode\u003e32ebeb2\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ff7e800971bacfabe4f498bc883c3fafc16c797f\"\u003e\u003ccode\u003eff7e800\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4886\"\u003e#4886\u003c/a\u003e from pschanely/atomic-constants-cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e57fd12bc0c4242bedf4163497542b2a9aee00f3\"\u003e\u003ccode\u003ee57fd12\u003c/code\u003e\u003c/a\u003e Isolate the constants cache test from existing cache files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c8981a0f1d0b84a5bd5ede0f7ae1aef768715177\"\u003e\u003ccode\u003ec8981a0\u003c/code\u003e\u003c/a\u003e Write the local constants cache atomically\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9c55f97e507eae21677457e84737b386fd06e271\"\u003e\u003ccode\u003e9c55f97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4877\"\u003e#4877\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.1...v6.168.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=hypothesis\u0026package-manager=uv\u0026previous-version=6.168.1\u0026new-version=6.168.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/reidhoch/horcrux/pull/1594","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/reidhoch%2Fhorcrux/issues/1594","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1594/packages"}},{"old_version":"6.168.3","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-12T19:19:49.000Z","version_change":"6.168.3 → 6.168.5","issue":{"uuid":"5819204382","node_id":"PR_kwDOSG6RHM8AAAABICCkVw","number":59,"state":"closed","title":"Bump: Bump the python-minor-patch group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T06:32:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-12T19:19:49.000Z","updated_at":"2026-10-19T06:32:13.000Z","time_to_close":558742,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump: Bump","group_name":"python-minor-patch","update_count":8,"packages":[{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"typer","old_version":"0.27.2","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"fastapi","old_version":"0.142.2","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"mcp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"filelock","old_version":"4.0.9","new_version":"4.0.12","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"websockets","old_version":"17.1","new_version":"17.2","repository_url":"https://github.com/python-websockets/websockets"},{"name":"hypothesis","old_version":"6.168.3","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"pytest-playwright","old_version":"0.9.0","new_version":"0.10.0","repository_url":"https://github.com/microsoft/playwright-pytest"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [typer](https://github.com/fastapi/typer) | `0.27.2` | `0.27.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.142.2` | `0.143.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `2.2.0` | `2.3.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `4.0.9` | `4.0.12` |\n| [websockets](https://github.com/python-websockets/websockets) | `17.1` | `17.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.3` | `6.168.5` |\n| [pytest-playwright](https://github.com/microsoft/playwright-pytest) | `0.9.0` | `0.10.0` |\n\n\nUpdates `pydantic` from 2.13.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.27.2 to 0.27.3\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.27.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Escape terminal control characters in error messages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1972\"\u003e#1972\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1969\"\u003e#1969\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 urllib3 from 2.7.0 to 2.8.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1968\"\u003e#1968\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 pymdown-extensions from 11.0 to 11.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1924\"\u003e#1924\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 the python-packages group across 1 directory with 7 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1966\"\u003e#1966\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 cryptography from 48.0.1 to 50.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1920\"\u003e#1920\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1967\"\u003e#1967\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 3 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1965\"\u003e#1965\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 anyio from 4.12.0 to 4.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1959\"\u003e#1959\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✅ Fix flaky \u003ccode\u003eapp_dir\u003c/code\u003e and \u003ccode\u003elaunch\u003c/code\u003e tutorial tests under \u003ccode\u003exdist\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1951\"\u003e#1951\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 8 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1948\"\u003e#1948\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 annotated-doc from 0.0.4 to 0.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1949\"\u003e#1949\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1950\"\u003e#1950\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 4 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1947\"\u003e#1947\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.27.3 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Escape terminal control characters in error messages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1972\"\u003e#1972\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1969\"\u003e#1969\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 urllib3 from 2.7.0 to 2.8.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1968\"\u003e#1968\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 pymdown-extensions from 11.0 to 11.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1924\"\u003e#1924\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 the python-packages group across 1 directory with 7 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1966\"\u003e#1966\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 cryptography from 48.0.1 to 50.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1920\"\u003e#1920\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1967\"\u003e#1967\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 3 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1965\"\u003e#1965\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 anyio from 4.12.0 to 4.14.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1959\"\u003e#1959\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✅ Fix flaky \u003ccode\u003eapp_dir\u003c/code\u003e and \u003ccode\u003elaunch\u003c/code\u003e tutorial tests under \u003ccode\u003exdist\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1951\"\u003e#1951\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 8 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1948\"\u003e#1948\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 annotated-doc from 0.0.4 to 0.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1949\"\u003e#1949\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 pre-commit hooks. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1950\"\u003e#1950\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the github-actions group with 4 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1947\"\u003e#1947\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/b15210b71a5b9b35be82a1ffdb172ef7b3a89d85\"\u003e\u003ccode\u003eb15210b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.27.3 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1973\"\u003e#1973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/8bfe6d1599d19fd2175722dc9b9cb576e331c43d\"\u003e\u003ccode\u003e8bfe6d1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a74010f845e8771e574cc9a033cd53f449383c61\"\u003e\u003ccode\u003ea74010f\u003c/code\u003e\u003c/a\u003e 🐛 Escape terminal control characters in error messages (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/11b083b92126fb8e149ab9e7d5c9a0f5594dfe58\"\u003e\u003ccode\u003e11b083b\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/910a474f3071012c3c512aad3b6e10c6e9af9dcf\"\u003e\u003ccode\u003e910a474\u003c/code\u003e\u003c/a\u003e ⬆ Bump pyjwt from 2.13.0 to 2.15.0 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/33b1eec0e20df3695de0b4ad7af0dff89608b12b\"\u003e\u003ccode\u003e33b1eec\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/62f1d4acd95c52c12490d313d2dea27846d23f46\"\u003e\u003ccode\u003e62f1d4a\u003c/code\u003e\u003c/a\u003e ⬆ Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1968\"\u003e#1968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ffc8b9ae61d98fd48d52494e3f7286fda763fbe5\"\u003e\u003ccode\u003effc8b9a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/1b7ceee5da625df3c679a55f9e6d25e31ab5f5c2\"\u003e\u003ccode\u003e1b7ceee\u003c/code\u003e\u003c/a\u003e ⬆ Bump pymdown-extensions from 11.0 to 11.0.1 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1924\"\u003e#1924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/40c39c11ce29ea0272134a0a50b2668105cd714f\"\u003e\u003ccode\u003e40c39c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.27.2...0.27.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.142.2 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.142.2...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003epip install -U mcp\u003c/code\u003e. Docs: \u003ca href=\"https://py.sdk.modelcontextprotocol.io/\"\u003ehttps://py.sdk.modelcontextprotocol.io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMostly fixes, plus three new options. A few things behave differently, so skim these first:\u003c/p\u003e\n\u003ch2\u003eBehaviour changes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003ehttpx2\u0026gt;=2.10.0\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt was \u003ccode\u003e\u0026gt;=2.5.0\u003c/code\u003e. The new \u003ccode\u003emax_sse_event_size\u003c/code\u003e option needs it.\u003c/li\u003e\n\u003cli\u003eNothing to do unless you pin \u003ccode\u003ehttpx2\u003c/code\u003e below 2.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eA tool with an invalid \u003ccode\u003ex-mcp-header\u003c/code\u003e annotation fails at registration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3620\"\u003e#3620\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@mcp.tool()\u003c/code\u003e, \u003ccode\u003eadd_tool\u003c/code\u003e and \u003ccode\u003eTool.from_function\u003c/code\u003e raise \u003ccode\u003eInvalidSignature\u003c/code\u003e, naming the tool and the problem.\u003c/li\u003e\n\u003cli\u003eUntil now the server started, and 2026-07-28 clients silently dropped the tool from their listing.\u003c/li\u003e\n\u003cli\u003eRefused: anything other than a plain \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e or \u003ccode\u003ebool\u003c/code\u003e parameter (so also \u003ccode\u003estr | None\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, lists and enums), a header name that isn't a valid token, and two names that differ only by case.\u003c/li\u003e\n\u003cli\u003eFor an optional header parameter, give the schema directly: \u003ccode\u003eAnnotated[str | None, WithJsonSchema({\u0026quot;type\u0026quot;: \u0026quot;string\u0026quot;, \u0026quot;x-mcp-header\u0026quot;: \u0026quot;Region\u0026quot;})] = None\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eEmpty \u003ccode\u003e_meta\u003c/code\u003e and \u003ccode\u003eparams\u003c/code\u003e are no longer sent\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOn 2025-11-25 and earlier connections, 2.x sent \u003ccode\u003e\u0026quot;_meta\u0026quot;: {}\u003c/code\u003e on every request. Some servers reject that. It is now left out, as in v1.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eping\u003c/code\u003e and list requests without a cursor go out with no \u003ccode\u003eparams\u003c/code\u003e member.\u003c/li\u003e\n\u003cli\u003eOn the receiving side \u003ccode\u003ectx.meta\u003c/code\u003e is \u003ccode\u003eNone\u003c/code\u003e rather than \u003ccode\u003e{}\u003c/code\u003e, and middleware sees \u003ccode\u003ectx.params\u003c/code\u003e as \u003ccode\u003eNone\u003c/code\u003e for a request without params.\u003c/li\u003e\n\u003cli\u003e2026-07-28 connections are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003einitialize\u003c/code\u003e leaves out \u003ccode\u003eexperimental\u003c/code\u003e when none is configured\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt used to send \u003ccode\u003e\u0026quot;experimental\u0026quot;: {}\u003c/code\u003e. \u003ccode\u003eserver/discover\u003c/code\u003e already left it out.\u003c/li\u003e\n\u003cli\u003eClient code reading \u003ccode\u003ecapabilities.experimental\u003c/code\u003e on a legacy connection should handle \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMcp-Param-*\u003c/code\u003e validation looks the tool up by name\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e no longer runs \u003ccode\u003etools/list\u003c/code\u003e for every \u003ccode\u003etools/call\u003c/code\u003e, so middleware no longer sees that extra request.\u003c/li\u003e\n\u003cli\u003eThe registered schema is what gets checked. Middleware that filters or rewrites \u003ccode\u003etools/list\u003c/code\u003e no longer affects it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAn interactive OAuth login no longer counts against request timeouts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe timeout pauses while \u003ccode\u003eOAuthClientProvider\u003c/code\u003e waits on \u003ccode\u003eredirect_handler\u003c/code\u003e and \u003ccode\u003ecallback_handler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThis fixes \u003ccode\u003eClient(mode=\u0026quot;auto\u0026quot;)\u003c/code\u003e settling on \u003ccode\u003e2025-11-25\u003c/code\u003e when the login took longer than 10 seconds.\u003c/li\u003e\n\u003cli\u003eA request timeout no longer ends a login nobody finishes. Put a limit inside \u003ccode\u003ecallback_handler\u003c/code\u003e if you need one.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emax_sse_event_size=\u003c/code\u003e on \u003ccode\u003estreamable_http_client\u003c/code\u003e and \u003ccode\u003eStreamableHttpParameters\u003c/code\u003e. The default stays 1 MiB per SSE event; raise it, or pass \u003ccode\u003eNone\u003c/code\u003e, for larger tool results (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer(subscriptions=False)\u003c/code\u003e stops serving \u003ccode\u003esubscriptions/listen\u003c/code\u003e and advertises \u003ccode\u003elistChanged\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e as false (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3626\"\u003e#3626\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eServer(get_tool_input_schema=...)\u003c/code\u003e lets a low-level server supply a tool's schema for header validation without running its \u003ccode\u003etools/list\u003c/code\u003e handler (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eClient.call_tool\u003c/code\u003e re-lists the tools and retries once after a \u003ccode\u003eHeaderMismatch\u003c/code\u003e (\u003ccode\u003e-32020\u003c/code\u003e) rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ectx: Context[AppState]\u003c/code\u003e works on prompts and resource templates, not only on tools (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3624\"\u003e#3624\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn explicit \u003ccode\u003e\u0026quot;structuredContent\u0026quot;: null\u003c/code\u003e is checked against the output schema instead of being treated as missing (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3621\"\u003e#3621\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eprogress_callback\u003c/code\u003e that raises no longer fails the call on an in-process \u003ccode\u003eClient(server)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3623\"\u003e#3623\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eClient OpenTelemetry spans record JSON-RPC error responses. With \u003ccode\u003emode=\u0026quot;auto\u0026quot;\u003c/code\u003e, connecting to a server without \u003ccode\u003eserver/discover\u003c/code\u003e now shows one \u003ccode\u003eERROR\u003c/code\u003e span for the probe (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estdio_client\u003c/code\u003e resolves the executable off the event loop on Windows (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3510\"\u003e#3510\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/modelcontextprotocol/python-sdk/commit/2118f14f8a19bc158d8a1cf90af58d85d187f849\"\u003e\u003ccode\u003e2118f14\u003c/code\u003e\u003c/a\u003e docs: refresh translations for recent English changes (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3636\"\u003e#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ed9b2d61823b3800de4c48abb23b951ad3a50834\"\u003e\u003ccode\u003eed9b2d6\u003c/code\u003e\u003c/a\u003e Stop counting an interactive OAuth login against request timeouts (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/d5cebd13defe97bf5bacb93496f132d4173cda23\"\u003e\u003ccode\u003ed5cebd1\u003c/code\u003e\u003c/a\u003e Keep inline-snapshot disabled when pytest runs in a terminal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3634\"\u003e#3634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c15566c9dd4828b8082fb7693060e3a0fd67e657\"\u003e\u003ccode\u003ec15566c\u003c/code\u003e\u003c/a\u003e Link What's new to the Header parameters page (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/4d29994023576e4b04e06c9ff2f32757abc50463\"\u003e\u003ccode\u003e4d29994\u003c/code\u003e\u003c/a\u003e Let a newer Deploy Docs run cancel the one in progress (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3633\"\u003e#3633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0acea605135759a2228a33eaa7d792fea2c2282b\"\u003e\u003ccode\u003e0acea60\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c54075ccb8793e9b0d37f0c9e2c58dfd0256c23d\"\u003e\u003ccode\u003ec54075c\u003c/code\u003e\u003c/a\u003e Look the tool schema up by name for Mcp-Param-* validation instead of running...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9afccae3d0bff4062add01b7fb746634b9aad2a7\"\u003e\u003ccode\u003e9afccae\u003c/code\u003e\u003c/a\u003e Retry a tool call once after a HeaderMismatch rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cafa33b3530b0af2e4a8467d11f92bc1cb00368e\"\u003e\u003ccode\u003ecafa33b\u003c/code\u003e\u003c/a\u003e Record JSON-RPC error responses on the client OpenTelemetry span (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0b2fd3ea60efb16b349e8c887cf91bf2f9f773fc\"\u003e\u003ccode\u003e0b2fd3e\u003c/code\u003e\u003c/a\u003e Omit an empty _meta and empty params from outbound requests (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 4.0.9 to 4.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.12\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: support older SQLite read locks 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/filelock/pull/771\"\u003etox-dev/filelock#771\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/filelock/compare/4.0.11...4.0.12\"\u003ehttps://github.com/tox-dev/filelock/compare/4.0.11...4.0.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.11\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: select an existing tox environment in contributing guide by \u003ca href=\"https://github.com/raghav-sharma-ai\"\u003e\u003ccode\u003e@​raghav-sharma-ai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/767\"\u003etox-dev/filelock#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read-write): handle NetBSD fd limits 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/filelock/pull/768\"\u003etox-dev/filelock#768\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/raghav-sharma-ai\"\u003e\u003ccode\u003e@​raghav-sharma-ai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/767\"\u003etox-dev/filelock#767\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/filelock/compare/4.0.10...4.0.11\"\u003ehttps://github.com/tox-dev/filelock/compare/4.0.10...4.0.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.10\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ refactor(util): test helpers via public locks 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/filelock/pull/764\"\u003etox-dev/filelock#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(singleton): reject conflicting async and lease options by \u003ca href=\"https://github.com/kokotatan\"\u003e\u003ccode\u003e@​kokotatan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/765\"\u003etox-dev/filelock#765\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/kokotatan\"\u003e\u003ccode\u003e@​kokotatan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/765\"\u003etox-dev/filelock#765\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/filelock/compare/4.0.9...4.0.10\"\u003ehttps://github.com/tox-dev/filelock/compare/4.0.9...4.0.10\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/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003cp\u003e.. towncrier-draft-entries:: Unreleased\u003c/p\u003e\n\u003cp\u003e.. towncrier release notes start\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.1 (2026-10-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eBound the shared-lock contention test by worker progress so slow CI machines can finish the workload. :pr:\u003ccode\u003e819\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid the macOS \u003ccode\u003e/dev/fd\u003c/code\u003e lookup implicated in a kernel panic by opening SQLite through a validated hard link.\nThe database directory must be writable and support hard links; alias creation failure raises \u003ccode\u003eOSError\u003c/code\u003e. :pr:\u003ccode\u003e820\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eIgnore non-ASCII PID or start-time fields and out-of-range PIDs in \u003ccode\u003eReadWriteLock\u003c/code\u003e hard-link directory names so forged\nowners cannot abort acquisition. :pr:\u003ccode\u003e821\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUse Python 3.15 for development and automation. :pr:\u003ccode\u003e816\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e4.1.0 (2026-10-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eImport :data:\u003ccode\u003e~filelock.OwnerMode\u003c/code\u003e, :data:\u003ccode\u003e~filelock.CompromiseReason\u003c/code\u003e and :data:\u003ccode\u003e~filelock.has_fcntl\u003c/code\u003e from\n\u003ccode\u003efilelock\u003c/code\u003e. :pr:\u003ccode\u003e790\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.AcquireReturnProxy\u003c/code\u003e is generic in the lock type, so \u003ccode\u003ewith lock.acquire() as held:\u003c/code\u003e types \u003ccode\u003eheld\u003c/code\u003e as\nthe lock's own class. :pr:\u003ccode\u003e803\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA :class:\u003ccode\u003e~filelock.Timeout\u003c/code\u003e from a soft lock names a holder on another host or in another PID namespace, which no\ncontender ever reclaims. :pr:\u003ccode\u003e815\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:attr:\u003ccode\u003e~filelock.SoftFileLock.is_lock_held_by_us\u003c/code\u003e and :attr:\u003ccode\u003e~filelock.MarkerSoftFileLock.is_lock_held_by_us\u003c/code\u003e return\n\u003ccode\u003eFalse\u003c/code\u003e for a marker an earlier process with the same PID left behind. :pr:\u003ccode\u003e774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e removes its marker when writing it fails and closing the descriptor fails too, so the\nlock path no longer stays blocked. :pr:\u003ccode\u003e775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~filelock.BaseFileLock.acquire\u003c/code\u003e and :meth:\u003ccode\u003e~filelock.BaseAsyncFileLock.acquire\u003c/code\u003e no longer wait past \u003ccode\u003etimeout\u003c/code\u003e\nwhen \u003ccode\u003epoll_interval\u003c/code\u003e is longer than the time left. :pr:\u003ccode\u003e777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e ignores a generation-log entry whose name is not 20 ASCII digits, which used to\nstop its heartbeat thread or delete real generations. :pr:\u003ccode\u003e778\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.ReadWriteLock\u003c/code\u003e, :class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e and their async wrappers treat a\n:data:\u003ccode\u003emath.inf\u003c/code\u003e timeout like \u003ccode\u003e-1\u003c/code\u003e and raise :class:\u003ccode\u003eValueError\u003c/code\u003e for a blocking \u003ccode\u003enan\u003c/code\u003e one. :pr:\u003ccode\u003e779\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.ReadWriteLock\u003c/code\u003e and :class:\u003ccode\u003e~filelock.SoftReadWriteLock\u003c/code\u003e accept a timeout above\n:data:\u003ccode\u003ethreading.TIMEOUT_MAX\u003c/code\u003e instead of raising :class:\u003ccode\u003eOverflowError\u003c/code\u003e. :pr:\u003ccode\u003e780\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:meth:\u003ccode\u003e~filelock.BaseFileLock.acquire\u003c/code\u003e raises :class:\u003ccode\u003eValueError\u003c/code\u003e for a blocking \u003ccode\u003enan\u003c/code\u003e timeout or a \u003ccode\u003epoll_interval\u003c/code\u003e\nabove :data:\u003ccode\u003ethreading.TIMEOUT_MAX\u003c/code\u003e, and treats a :data:\u003ccode\u003emath.inf\u003c/code\u003e timeout like \u003ccode\u003e-1\u003c/code\u003e. :pr:\u003ccode\u003e781\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e and :class:\u003ccode\u003e~filelock.MarkerSoftFileLock\u003c/code\u003e treat a marker cut before its final newline as\nmalformed, so a crash-truncated record self-heals and a read mid-write no longer breaks a live lock. :pr:\u003ccode\u003e782\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.UnixFileLock\u003c/code\u003e no longer deletes another process's live marker when it falls back to a soft lock on\n\u003ccode\u003eENOSYS\u003c/code\u003e, and on macOS a lock path ending in a separator raises :class:\u003ccode\u003eFileNotFoundError\u003c/code\u003e instead of retrying. :pr:\u003ccode\u003e785\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.SoftFileLock\u003c/code\u003e and :class:\u003ccode\u003e~filelock.SoftFileLease\u003c/code\u003e put back a live successor's marker that a racing\nstale break moved aside, so a third contender no longer acquires beside the successor. :pr:\u003ccode\u003e786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e:class:\u003ccode\u003e~filelock.StrictSoftFileLock\u003c/code\u003e removes every claim a failed acquire published, counts an \u003ccode\u003eEEXIST\u003c/code\u003e link that\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/tox-dev/filelock/commit/09b36c4741b0062df7c7cc149ed415c255034409\"\u003e\u003ccode\u003e09b36c4\u003c/code\u003e\u003c/a\u003e Release 4.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/33e2d11b61894d7f71f2211cfdae9550e85029f4\"\u003e\u003ccode\u003e33e2d11\u003c/code\u003e\u003c/a\u003e fix: support older SQLite read locks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/822d32b54d70027311e2190a86cb7f3c58439be4\"\u003e\u003ccode\u003e822d32b\u003c/code\u003e\u003c/a\u003e Release 4.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/47f036daea8f54e7b9b54b067e3122a05c4f5662\"\u003e\u003ccode\u003e47f036d\u003c/code\u003e\u003c/a\u003e fix(read-write): handle NetBSD fd limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/2e0abe5b915fbadbb1b21bc094800feb7e2b8e09\"\u003e\u003ccode\u003e2e0abe5\u003c/code\u003e\u003c/a\u003e docs: select an existing tox environment in contributing guide (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/767\"\u003e#767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/1f0632b6bc047cf3481bbe740475be813013208e\"\u003e\u003ccode\u003e1f0632b\u003c/code\u003e\u003c/a\u003e Release 4.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/c9c65abadf1832d22e5901d6cd0e7010bd00db5c\"\u003e\u003ccode\u003ec9c65ab\u003c/code\u003e\u003c/a\u003e 🐛 fix(singleton): reject conflicting async and lease options (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bc2405b882657b649fff86fe86ddd7883510393f\"\u003e\u003ccode\u003ebc2405b\u003c/code\u003e\u003c/a\u003e ♻️ refactor(util): test helpers via public locks (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/4.0.9...4.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `websockets` from 17.1 to 17.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-websockets/websockets/releases\"\u003ewebsockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e17.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://websockets.readthedocs.io/en/stable/project/changelog.html\"\u003ehttps://websockets.readthedocs.io/en/stable/project/changelog.html\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a1664f4c5a7c71bf5391ad0c3c518e431f6261fb\"\u003e\u003ccode\u003ea1664f4\u003c/code\u003e\u003c/a\u003e Release version 17.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/d2060d803d131ed535b55e0837e3ee60eb0f7716\"\u003e\u003ccode\u003ed2060d8\u003c/code\u003e\u003c/a\u003e Test against latest PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/2af0aff9950903f0957803d47eabdbbc999eb648\"\u003e\u003ccode\u003e2af0aff\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 4.2.0 to 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/603dd9830d23a35fbc356354d36c8b6ddc5f352c\"\u003e\u003ccode\u003e603dd98\u003c/code\u003e\u003c/a\u003e Document how to wait for clients to disconnect.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/f78b0b315bd53cb94e4d5b4e628af157e28695a7\"\u003e\u003ccode\u003ef78b0b3\u003c/code\u003e\u003c/a\u003e mypy is getting smarter.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/32504a802e6aab619f4beb33c40b65ea8d7f027b\"\u003e\u003ccode\u003e32504a8\u003c/code\u003e\u003c/a\u003e Prevent suprious log when proxy rejects connection.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/7db6ba3ead2bcfa7c914a9dfdba313b82a64b5dd\"\u003e\u003ccode\u003e7db6ba3\u003c/code\u003e\u003c/a\u003e Decode credentials in WebSocket and proxy URIs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/a591d620fd002a8800e840c7a3fdf556ac0e5ec6\"\u003e\u003ccode\u003ea591d62\u003c/code\u003e\u003c/a\u003e Tighten heuristics for representing control frames.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/5b63a4c34da3735d57e0e96c909584ab4b576d43\"\u003e\u003ccode\u003e5b63a4c\u003c/code\u003e\u003c/a\u003e Fix flaky tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-websockets/websockets/commit/b8cfbfbf03bca110b375d76d77673a0d6737fb83\"\u003e\u003ccode\u003eb8cfbfb\u003c/code\u003e\u003c/a\u003e Add deterrence against AI slop.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-websockets/websockets/compare/17.1...17.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.168.3 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c1c9957de83aad3facea6610b0bccecf141632f6\"\u003e\u003ccode\u003ec1c9957\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4894\"\u003e#4894\u003c/a\u003e from MarcoGorelli/django-from-field-return-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/d8625019d00324ac8d7571db26d6180ebcd0b2eb\"\u003e\u003ccode\u003ed862501\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.4 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/de4ec1c1bae27e5f1364b32b21295274c12b3e6f\"\u003e\u003ccode\u003ede4ec1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4887\"\u003e#4887\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/8a808891a388e538b41ae758e6c4a100bf4c6379\"\u003e\u003ccode\u003e8a80889\u003c/code\u003e\u003c/a\u003e add pypy312 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/9ee265d9e7523351ab30c337c78b022e03e14e21\"\u003e\u003ccode\u003e9ee265d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f92f61c2d2f3c8aabd4946ae6cc2ddaf6941a011\"\u003e\u003ccode\u003ef92f61c\u003c/code\u003e\u003c/a\u003e Fix the return type of django's from_field\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/v6.168.3...v6.168.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-playwright` from 0.9.0 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright-pytest/releases\"\u003epytest-playwright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.10.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eTraces for \u003ccode\u003eplaywright.request\u003c/code\u003e API contexts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/333\"\u003e#333\u003c/a\u003e). \u003ccode\u003e--tracing\u003c/code\u003e now also records contexts created with \u003ccode\u003eplaywright.request.new_context()\u003c/code\u003e, one chunk per test, so a session-scoped API context yields a trace per test. The traces follow the same \u003ccode\u003eretain-on-failure\u003c/code\u003e handling, \u003ccode\u003etrace-N.zip\u003c/code\u003e naming and report attachments as browser traces. Requires Playwright 1.60 or newer.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eArtifacts in test reports\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/332\"\u003e#332\u003c/a\u003e). Kept screenshots, videos and traces are added to the teardown report as \u003ccode\u003eplaywright_screenshot\u003c/code\u003e, \u003ccode\u003eplaywright_video\u003c/code\u003e and \u003ccode\u003eplaywright_trace\u003c/code\u003e user properties, so \u003ccode\u003e--junitxml\u003c/code\u003e writes them as \u003ccode\u003e\u0026lt;property\u0026gt;\u003c/code\u003e elements and \u003ccode\u003epytest_runtest_logreport\u003c/code\u003e hooks and reporters can pick them up. With pytest-html \u0026gt;= 4 they are linked from the report, and embedded with \u003ccode\u003e--self-contained-html\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eReruns keep their own artifacts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/331\"\u003e#331\u003c/a\u003e). With pytest-rerunfailures, every attempt now writes to its own folder, \u003ccode\u003etest-results/\u0026lt;test\u0026gt;-retry1/\u003c/code\u003e and so on, like Playwright Test. Attempts no longer overwrite each other.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eArtifacts survive fixture failures in teardown\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/330\"\u003e#330\u003c/a\u003e). \u003ccode\u003e--tracing retain-on-failure\u003c/code\u003e, \u003ccode\u003e--video retain-on-failure\u003c/code\u003e and \u003ccode\u003e--screenshot only-on-failure\u003c/code\u003e now keep artifacts when a fixture fails during teardown. A test skipped from a fixture no longer counts as failed.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ePer-test browser launch options\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/329\"\u003e#329\u003c/a\u003e):\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pytest.mark.parametrize(\r\n    \u0026quot;browser_type_launch_args\u0026quot;,\r\n    [{\u0026quot;args\u0026quot;: [\u0026quot;--lang=de-DE\u0026quot;]}],\r\n    indirect=True,\r\n)\r\ndef test_german(page):\r\n    ...\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eEach distinct value launches its own browser; command line options such as \u003ccode\u003e--headed\u003c/code\u003e and \u003ccode\u003e--slowmo\u003c/code\u003e still apply.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMulti-browser parametrization fixes.\u003c/strong\u003e Overriding the \u003ccode\u003epage\u003c/code\u003e fixture no longer drops \u003ccode\u003e--browser\u003c/code\u003e parametrization on older pytest versions (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/314\"\u003e#314\u003c/a\u003e). \u003ccode\u003ebrowser_name\u003c/code\u003e is now parametrized indirectly, so tests keep their original order within a browser (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/284\"\u003e#284\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eVS Code debugger\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/328\"\u003e#328\u003c/a\u003e). The browser is launched headed under the debugger only when a display is available. On Linux without \u003ccode\u003eDISPLAY\u003c/code\u003e or \u003ccode\u003eWAYLAND_DISPLAY\u003c/code\u003e set, it stays headless unless \u003ccode\u003e--headed\u003c/code\u003e is passed.\u003c/p\u003e\n\u003ch2\u003eBreaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003epytest-base-url\u003c/code\u003e is now an optional dependency\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/334\"\u003e#334\u003c/a\u003e). The plugin provides \u003ccode\u003e--base-url\u003c/code\u003e, the \u003ccode\u003ebase_url\u003c/code\u003e ini option, the \u003ccode\u003ePYTEST_BASE_URL\u003c/code\u003e environment variable and the \u003ccode\u003ebase_url\u003c/code\u003e fixture on its own. \u003ccode\u003e--verify-base-url\u003c/code\u003e needs the extra:\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epip install pytest-playwright[base-url]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eMinimum pytest version\u003c/strong\u003e is 7.0 for pytest-playwright and 8.2 for pytest-playwright-asyncio (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/333\"\u003e#333\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003epython-slugify\u003c/code\u003e 9.x is now supported (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/324\"\u003e#324\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/microsoft/playwright-pytest/compare/v0.9.0...v0.10.0\"\u003ehttps://github.com/microsoft/playwright-pytest/compare/v0.9.0...v0.10.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/microsoft/playwright-pytest/commit/80d7569debc94f648e39ba2d2ccb2a580283894a\"\u003e\u003ccode\u003e80d7569\u003c/code\u003e\u003c/a\u003e feat: record traces of playwright.request API contexts (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/63a07cd950d2af1fee598e78e8018b8009257f75\"\u003e\u003ccode\u003e63a07cd\u003c/code\u003e\u003c/a\u003e feat: make pytest-base-url an optional dependency (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/be5238a0755003bbe1e14bca3203c9c8a7710e5b\"\u003e\u003ccode\u003ebe5238a\u003c/code\u003e\u003c/a\u003e feat: attach screenshots, videos and traces to test reports (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/543216d7cde68cdd47ad33380a6138f1fa2e42a0\"\u003e\u003ccode\u003e543216d\u003c/code\u003e\u003c/a\u003e feat: keep artifacts of each pytest-rerunfailures attempt in its own folder (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/4607d7c5b52f13ea4726425d1e004fd206d70bf8\"\u003e\u003ccode\u003e4607d7c\u003c/code\u003e\u003c/a\u003e fix: keep artifacts when a fixture fails during teardown (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/330\"\u003e#330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/cfd68b84bc07781af7f0eed28efdecbd39a43a43\"\u003e\u003ccode\u003ecfd68b8\u003c/code\u003e\u003c/a\u003e feat: allow per-test browser launch options via indirect parametrization (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/dc8396a6687420876f4f4f602527978a28d9c088\"\u003e\u003ccode\u003edc8396a\u003c/code\u003e\u003c/a\u003e fix: only default to headed under the VS Code debugger when a display is avai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/0356d90a41317af43d1c71774d6c090dd063085d\"\u003e\u003ccode\u003e0356d90\u003c/code\u003e\u003c/a\u003e fix: keep multi-browser parametrization when the page fixture is overridden (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/838da8d952fdd49285f7d39f7d8ae41b1e509930\"\u003e\u003ccode\u003e838da8d\u003c/code\u003e\u003c/a\u003e fix: Make 'browser_name' parameter indirect (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright-pytest/commit/6dfaff319286ab366413b5aaf17f688c778962bc\"\u003e\u003ccode\u003e6dfaff3\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump setuptools in /pytest-playwright-asyncio (\u003ca href=\"https://redirect.github.com/microsoft/playwright-pytest/issues/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright-pytest/compare/v0.9.0...v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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 dep...\n\n_Description has been truncated_","html_url":"https://github.com/sleousis/Stonks/pull/59","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sleousis%2FStonks/issues/59","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/59/packages"}},{"old_version":"6.168.0","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-12T09:06:09.000Z","version_change":"6.168.0 → 6.168.5","issue":{"uuid":"5811143135","node_id":"PR_kwDOUwG_YM8AAAABH7mOrw","number":4,"state":"closed","title":"chore(deps): bump the python-minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T03:26:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-12T09:06:09.000Z","updated_at":"2026-10-19T03:26:32.000Z","time_to_close":584421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-and-patch","update_count":10,"packages":[{"name":"fastapi","old_version":"0.141.1","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.52.4","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"opentelemetry-api","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"anthropic","old_version":"1.5.0","new_version":"1.12.1","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"typer","old_version":"0.27.2","new_version":"0.27.3","repository_url":"https://github.com/fastapi/typer"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.16.7","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.141.1` | `0.143.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.52.4` | `0.54.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `1.5.0` | `1.12.1` |\n| [typer](https://github.com/fastapi/typer) | `0.27.2` | `0.27.3` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.7` | `0.16.10` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n\n\nUpdates `fastapi` from 0.141.1 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.141.1...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.52.4 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.53.0\u003c/h2\u003e\n\u003ch2\u003e🌐 Opt-in HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.53.0 adds experimental HTTP/2 through \u003ccode\u003ezttp\u003c/code\u003e, alongside a new \u003ccode\u003ezuvloop\u003c/code\u003e integration and connection-handling improvements.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eServe HTTP/1.1 and HTTP/2 with \u003ccode\u003ezttp\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e). Install \u003ccode\u003ezttp\u003c/code\u003e, then enable HTTP/2 with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Uvicorn negotiates HTTP/2 over TLS with ALPN and supports cleartext prior knowledge.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental.\u003c/strong\u003e Upgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ More event loop choice\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRun Uvicorn with \u003ccode\u003ezuvloop\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e). Install \u003ccode\u003ezuvloop\u003c/code\u003e separately and select it explicitly with \u003ccode\u003e--loop zuvloop\u003c/code\u003e on CPython 3.14 or newer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛡️ More reliable connections and proxies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHonor \u003ccode\u003eConnection: close\u003c/code\u003e token lists\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e). Uvicorn now parses comma-separated tokens case-insensitively across HTTP implementations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrust IPv6 loopback proxies by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e). The default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value now includes \u003ccode\u003e::1\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKeep upgraded WebSockets alive\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e). Uvicorn cancels the HTTP keep-alive timer when the connection becomes a WebSocket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.53.0\"\u003e0.52.4...0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.53.0 (September 14, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e. Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\nUpgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ezuvloop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle comma-separated, case-insensitive \u003ccode\u003eConnection: close\u003c/code\u003e tokens across HTTP implementations (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrust IPv6 loopback in the default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancel the HTTP keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/421708fbc1a704dac8bd4053a7c4c0bf4d3704ee\"\u003e\u003ccode\u003e421708f\u003c/code\u003e\u003c/a\u003e Version 0.53.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3136\"\u003e#3136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f1a1bff7be819f5724d6fdf86dfd448a97c62e23\"\u003e\u003ccode\u003ef1a1bff\u003c/code\u003e\u003c/a\u003e Unset the keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/63971ed952090438896e6eba7d07178b616d97cc\"\u003e\u003ccode\u003e63971ed\u003c/code\u003e\u003c/a\u003e Document HTTP/2 support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3130\"\u003e#3130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7d1a0055aee5e281accc646b559ddd147486bf8a\"\u003e\u003ccode\u003e7d1a005\u003c/code\u003e\u003c/a\u003e Remove race from multiprocess health check test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5ac6265a01ff6dcadb0e4250152c3deaf8a168a9\"\u003e\u003ccode\u003e5ac6265\u003c/code\u003e\u003c/a\u003e Add ::1 to FORWARDED_ALLOW_IPS (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.54.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.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the\nLogger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip\nexpensive work when logging is disabled\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/open-telemetry/opentelemetry-python/commit/14971cef9c84c2354cbaf6871090896fad0f9a1a\"\u003e\u003ccode\u003e14971ce\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.1/0.66b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5752\"\u003e#5752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/44ac26edcee5cc99e03a65d6a1a9978775703e28\"\u003e\u003ccode\u003e44ac26e\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: fix thread leak bug in resource initialization logic (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/570\"\u003e#570\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/a2ec3f91f1c2b735ccba177eaa77d6019a4428ae\"\u003e\u003ccode\u003ea2ec3f9\u003c/code\u003e\u003c/a\u003e [release/v1.45.x-0.66bx] opentelemetry-exporter-otlp-proto-http: restore requ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d5224bf4ffdf2aee1b592ad238dcc32ca957f26b\"\u003e\u003ccode\u003ed5224bf\u003c/code\u003e\u003c/a\u003e opentelemetry-api: improve performance of tracestate parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5746\"\u003e#5746\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5749\"\u003e#5749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/db61173a56475d4fa1276d16182e46b43db83b9e\"\u003e\u003ccode\u003edb61173\u003c/code\u003e\u003c/a\u003e Declare AnyValue and AttributeValue as explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5703\"\u003e#5703\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5750\"\u003e#5750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2\"\u003e\u003ccode\u003e4f0fcfa\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.0/0.66b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690\"\u003e#5690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9\"\u003e\u003ccode\u003e9406f34\u003c/code\u003e\u003c/a\u003e opentelemetry-test-utils: add CapturingSampler for instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c\"\u003e\u003ccode\u003e1fe31a9\u003c/code\u003e\u003c/a\u003e fix: update W3CBaggagePropagator to properly handle whitespace (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680\"\u003e#5680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534\"\u003e\u003ccode\u003e008b5b0\u003c/code\u003e\u003c/a\u003e feat(config): wire top-level attribute_limits into per-signal providers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1\"\u003e\u003ccode\u003eedfad0c\u003c/code\u003e\u003c/a\u003e [opentelemetry-sdk] Fix overwriting of the service.instance.id which has been...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telem...\n\n_Description has been truncated_","html_url":"https://github.com/rouviere-german/deterministic-agent-simulator/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouviere-german%2Fdeterministic-agent-simulator/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"6.161.5","new_version":"6.168.5","update_type":"minor","path":null,"pr_created_at":"2026-10-12T08:45:51.000Z","version_change":"6.161.5 → 6.168.5","issue":{"uuid":"5810899335","node_id":"PR_kwDOP0CBjs8AAAABH7Z5rA","number":133,"state":"open","title":"build(deps): bump the backend-minor-patch group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-12T08:45:51.000Z","updated_at":"2026-10-12T08:45:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"backend-minor-patch","update_count":12,"packages":[{"name":"fastapi","old_version":"0.140.0","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"lxml","old_version":"6.1.1","new_version":"6.1.3","repository_url":"https://github.com/lxml/lxml"},{"name":"mcp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"pandas","old_version":"3.0.5","new_version":"3.0.6","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pydantic","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"uvicorn","old_version":"0.51.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"coverage","old_version":"7.15.2","new_version":"7.16.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"hypothesis","old_version":"6.161.5","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"mypy","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"},{"name":"pygments","old_version":"2.20.0","new_version":"2.21.0","repository_url":"https://github.com/pygments/pygments"},{"name":"ruff","old_version":"0.16.0","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.63","new_version":"0.0.85","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the backend-minor-patch group with 12 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.140.0` | `0.143.0` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.1` | `6.1.3` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `2.2.0` | `2.3.0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.5` | `3.0.6` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.4` | `2.14.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.51.0` | `0.54.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.15.2` | `7.16.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.161.5` | `6.168.5` |\n| [mypy](https://github.com/python/mypy) | `2.3.0` | `2.4.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.20.0` | `2.21.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.0` | `0.16.10` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.63` | `0.0.85` |\n\n\nUpdates `fastapi` from 0.140.0 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.140.0...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lxml` from 6.1.1 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.1.3 (2026-09-02)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLP#2165901: External parameter entity parsing was allowed by default\n(with \u003ccode\u003eresolve_entities=\u0026quot;internal\u0026quot;\u003c/code\u003e).\nIssue found by Tomer Fichman.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.1.2 (2026-08-18)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eGH#526: Some build files were missing in the sdist.\nPatch by Nicola Soranzo.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSome minor corrections for error handling cases.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt with Cython 3.2.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/3c1a4c7f2d5a3c19efe01adfd3c33ac3c8fe52c1\"\u003e\u003ccode\u003e3c1a4c7\u003c/code\u003e\u003c/a\u003e Prepare release of 6.1.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/c1191fc55b8d574544203d07e7a02ba3378ced8d\"\u003e\u003ccode\u003ec1191fc\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/03ec3123b9683e7f02ce659f34322667683d3eef\"\u003e\u003ccode\u003e03ec312\u003c/code\u003e\u003c/a\u003e Disable parameter entity parsing when internal-only entity parsing is requested.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/11d03e922e0a7845131df3ab2fb5e894c0ced0ab\"\u003e\u003ccode\u003e11d03e9\u003c/code\u003e\u003c/a\u003e Build: Prevent duplicate Py3.8 wheel builds.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/9efc586ed3555be22548a3188f7f435826834961\"\u003e\u003ccode\u003e9efc586\u003c/code\u003e\u003c/a\u003e Build: Exclude musllinux-ARM from Py3.8 wheel building to prevent slow emulat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/9716fb1e1a80db4ba5e36bf99947dfccd8730471\"\u003e\u003ccode\u003e9716fb1\u003c/code\u003e\u003c/a\u003e Build: Include older PyPy versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/0f3327d3c8fc1ba01c90a866770ad8c4889e537f\"\u003e\u003ccode\u003e0f3327d\u003c/code\u003e\u003c/a\u003e Build: Exclude Win-Aarch64 from wheel build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/6967c960976541979570099de9866af398fb292f\"\u003e\u003ccode\u003e6967c96\u003c/code\u003e\u003c/a\u003e Build: Make all built wheels downloadable even if they don't pass the release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/061218d210747a1181dea76fb6b6d0eebe946b2d\"\u003e\u003ccode\u003e061218d\u003c/code\u003e\u003c/a\u003e Build: Exclude Py3.15 i686 wheels from validation (because they are intention...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/ce9fe0dd26bd5b64fe03b6bcdf68a997ee5a2596\"\u003e\u003ccode\u003ece9fe0d\u003c/code\u003e\u003c/a\u003e Build: Fix Py3.8 windows build.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-6.1.1...lxml-6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003epip install -U mcp\u003c/code\u003e. Docs: \u003ca href=\"https://py.sdk.modelcontextprotocol.io/\"\u003ehttps://py.sdk.modelcontextprotocol.io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMostly fixes, plus three new options. A few things behave differently, so skim these first:\u003c/p\u003e\n\u003ch2\u003eBehaviour changes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003ehttpx2\u0026gt;=2.10.0\u003c/code\u003e is now required\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt was \u003ccode\u003e\u0026gt;=2.5.0\u003c/code\u003e. The new \u003ccode\u003emax_sse_event_size\u003c/code\u003e option needs it.\u003c/li\u003e\n\u003cli\u003eNothing to do unless you pin \u003ccode\u003ehttpx2\u003c/code\u003e below 2.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eA tool with an invalid \u003ccode\u003ex-mcp-header\u003c/code\u003e annotation fails at registration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3620\"\u003e#3620\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@mcp.tool()\u003c/code\u003e, \u003ccode\u003eadd_tool\u003c/code\u003e and \u003ccode\u003eTool.from_function\u003c/code\u003e raise \u003ccode\u003eInvalidSignature\u003c/code\u003e, naming the tool and the problem.\u003c/li\u003e\n\u003cli\u003eUntil now the server started, and 2026-07-28 clients silently dropped the tool from their listing.\u003c/li\u003e\n\u003cli\u003eRefused: anything other than a plain \u003ccode\u003estr\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e or \u003ccode\u003ebool\u003c/code\u003e parameter (so also \u003ccode\u003estr | None\u003c/code\u003e, \u003ccode\u003efloat\u003c/code\u003e, lists and enums), a header name that isn't a valid token, and two names that differ only by case.\u003c/li\u003e\n\u003cli\u003eFor an optional header parameter, give the schema directly: \u003ccode\u003eAnnotated[str | None, WithJsonSchema({\u0026quot;type\u0026quot;: \u0026quot;string\u0026quot;, \u0026quot;x-mcp-header\u0026quot;: \u0026quot;Region\u0026quot;})] = None\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eEmpty \u003ccode\u003e_meta\u003c/code\u003e and \u003ccode\u003eparams\u003c/code\u003e are no longer sent\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOn 2025-11-25 and earlier connections, 2.x sent \u003ccode\u003e\u0026quot;_meta\u0026quot;: {}\u003c/code\u003e on every request. Some servers reject that. It is now left out, as in v1.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eping\u003c/code\u003e and list requests without a cursor go out with no \u003ccode\u003eparams\u003c/code\u003e member.\u003c/li\u003e\n\u003cli\u003eOn the receiving side \u003ccode\u003ectx.meta\u003c/code\u003e is \u003ccode\u003eNone\u003c/code\u003e rather than \u003ccode\u003e{}\u003c/code\u003e, and middleware sees \u003ccode\u003ectx.params\u003c/code\u003e as \u003ccode\u003eNone\u003c/code\u003e for a request without params.\u003c/li\u003e\n\u003cli\u003e2026-07-28 connections are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003einitialize\u003c/code\u003e leaves out \u003ccode\u003eexperimental\u003c/code\u003e when none is configured\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3614\"\u003e#3614\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt used to send \u003ccode\u003e\u0026quot;experimental\u0026quot;: {}\u003c/code\u003e. \u003ccode\u003eserver/discover\u003c/code\u003e already left it out.\u003c/li\u003e\n\u003cli\u003eClient code reading \u003ccode\u003ecapabilities.experimental\u003c/code\u003e on a legacy connection should handle \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMcp-Param-*\u003c/code\u003e validation looks the tool up by name\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e no longer runs \u003ccode\u003etools/list\u003c/code\u003e for every \u003ccode\u003etools/call\u003c/code\u003e, so middleware no longer sees that extra request.\u003c/li\u003e\n\u003cli\u003eThe registered schema is what gets checked. Middleware that filters or rewrites \u003ccode\u003etools/list\u003c/code\u003e no longer affects it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAn interactive OAuth login no longer counts against request timeouts\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe timeout pauses while \u003ccode\u003eOAuthClientProvider\u003c/code\u003e waits on \u003ccode\u003eredirect_handler\u003c/code\u003e and \u003ccode\u003ecallback_handler\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThis fixes \u003ccode\u003eClient(mode=\u0026quot;auto\u0026quot;)\u003c/code\u003e settling on \u003ccode\u003e2025-11-25\u003c/code\u003e when the login took longer than 10 seconds.\u003c/li\u003e\n\u003cli\u003eA request timeout no longer ends a login nobody finishes. Put a limit inside \u003ccode\u003ecallback_handler\u003c/code\u003e if you need one.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emax_sse_event_size=\u003c/code\u003e on \u003ccode\u003estreamable_http_client\u003c/code\u003e and \u003ccode\u003eStreamableHttpParameters\u003c/code\u003e. The default stays 1 MiB per SSE event; raise it, or pass \u003ccode\u003eNone\u003c/code\u003e, for larger tool results (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3600\"\u003e#3600\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer(subscriptions=False)\u003c/code\u003e stops serving \u003ccode\u003esubscriptions/listen\u003c/code\u003e and advertises \u003ccode\u003elistChanged\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e as false (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3626\"\u003e#3626\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eServer(get_tool_input_schema=...)\u003c/code\u003e lets a low-level server supply a tool's schema for header validation without running its \u003ccode\u003etools/list\u003c/code\u003e handler (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3630\"\u003e#3630\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eClient.call_tool\u003c/code\u003e re-lists the tools and retries once after a \u003ccode\u003eHeaderMismatch\u003c/code\u003e (\u003ccode\u003e-32020\u003c/code\u003e) rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ectx: Context[AppState]\u003c/code\u003e works on prompts and resource templates, not only on tools (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3624\"\u003e#3624\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn explicit \u003ccode\u003e\u0026quot;structuredContent\u0026quot;: null\u003c/code\u003e is checked against the output schema instead of being treated as missing (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3621\"\u003e#3621\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eprogress_callback\u003c/code\u003e that raises no longer fails the call on an in-process \u003ccode\u003eClient(server)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3623\"\u003e#3623\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eClient OpenTelemetry spans record JSON-RPC error responses. With \u003ccode\u003emode=\u0026quot;auto\u0026quot;\u003c/code\u003e, connecting to a server without \u003ccode\u003eserver/discover\u003c/code\u003e now shows one \u003ccode\u003eERROR\u003c/code\u003e span for the probe (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estdio_client\u003c/code\u003e resolves the executable off the event loop on Windows (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3510\"\u003e#3510\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/modelcontextprotocol/python-sdk/commit/2118f14f8a19bc158d8a1cf90af58d85d187f849\"\u003e\u003ccode\u003e2118f14\u003c/code\u003e\u003c/a\u003e docs: refresh translations for recent English changes (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3636\"\u003e#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ed9b2d61823b3800de4c48abb23b951ad3a50834\"\u003e\u003ccode\u003eed9b2d6\u003c/code\u003e\u003c/a\u003e Stop counting an interactive OAuth login against request timeouts (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3635\"\u003e#3635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/d5cebd13defe97bf5bacb93496f132d4173cda23\"\u003e\u003ccode\u003ed5cebd1\u003c/code\u003e\u003c/a\u003e Keep inline-snapshot disabled when pytest runs in a terminal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3634\"\u003e#3634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c15566c9dd4828b8082fb7693060e3a0fd67e657\"\u003e\u003ccode\u003ec15566c\u003c/code\u003e\u003c/a\u003e Link What's new to the Header parameters page (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/4d29994023576e4b04e06c9ff2f32757abc50463\"\u003e\u003ccode\u003e4d29994\u003c/code\u003e\u003c/a\u003e Let a newer Deploy Docs run cancel the one in progress (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3633\"\u003e#3633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0acea605135759a2228a33eaa7d792fea2c2282b\"\u003e\u003ccode\u003e0acea60\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c54075ccb8793e9b0d37f0c9e2c58dfd0256c23d\"\u003e\u003ccode\u003ec54075c\u003c/code\u003e\u003c/a\u003e Look the tool schema up by name for Mcp-Param-* validation instead of running...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9afccae3d0bff4062add01b7fb746634b9aad2a7\"\u003e\u003ccode\u003e9afccae\u003c/code\u003e\u003c/a\u003e Retry a tool call once after a HeaderMismatch rejection (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cafa33b3530b0af2e4a8467d11f92bc1cb00368e\"\u003e\u003ccode\u003ecafa33b\u003c/code\u003e\u003c/a\u003e Record JSON-RPC error responses on the client OpenTelemetry span (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/0b2fd3ea60efb16b349e8c887cf91bf2f9f773fc\"\u003e\u003ccode\u003e0b2fd3e\u003c/code\u003e\u003c/a\u003e Omit an empty _meta and empty params from outbound requests (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.5 to 3.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.6\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.6.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version. This is also the first release to support Python 3.15.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.6.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2905718b126579d2cf0fe5bae05bd75facb67d77\"\u003e\u003ccode\u003e2905718\u003c/code\u003e\u003c/a\u003e RLS: 3.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/3188cede89a060e7d2ca37298e160d1712a8695a\"\u003e\u003ccode\u003e3188ced\u003c/code\u003e\u003c/a\u003e [backport 3.0.x]  BUG: read_csv(sep=None) raised TypeError instead of falling...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/f0979054b9bb20fb43dadb8be9c7cd052506a5fb\"\u003e\u003ccode\u003ef097905\u003c/code\u003e\u003c/a\u003e DOC: cleanup 3.0.6 whatsnew + mention Python 3.15 support (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68965\"\u003e#68965\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68969\"\u003e#68969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4f68223463a6b960b5cdafc10125bf0987dd2698\"\u003e\u003ccode\u003e4f68223\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix setting with bool column mask into 1-column DataFra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e3df0e81f4e1830f0fe833ef83c51d4a511d9d95\"\u003e\u003ccode\u003ee3df0e8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: full-slice setitem into a pyarrow-backed array shared m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b7735f6070ef031296101acc42a5a30e0f3cc791\"\u003e\u003ccode\u003eb7735f6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/66117\"\u003e#66117\u003c/a\u003e on branch 3.0.x (BUG: interpolate leaving NAs unfilled for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bca0b7769ef0bb5e28d220e245c268142c62d637\"\u003e\u003ccode\u003ebca0b77\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: read_csv leaked the string-intern table when a column f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bca1e5de1f691366cf450c929326e7a35b03218a\"\u003e\u003ccode\u003ebca1e5d\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: prevent external mutation of RangeIndex._data (CoW) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6\"\u003e#6\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/c95b42cb0c91bd0cadb34429e1df377926087e0d\"\u003e\u003ccode\u003ec95b42c\u003c/code\u003e\u003c/a\u003e [3.0.x] CI: skip cython-lint on pre-commit.ci (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68910\"\u003e#68910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9cbd884bb9218323777d8237163dea1a30e7e506\"\u003e\u003ccode\u003e9cbd884\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] Backport of some already merged regression fixes (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/68447\"\u003e#68447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.5...v3.0.6\"\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.4 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.4...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.51.0 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.53.0\u003c/h2\u003e\n\u003ch2\u003e🌐 Opt-in HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.53.0 adds experimental HTTP/2 through \u003ccode\u003ezttp\u003c/code\u003e, alongside a new \u003ccode\u003ezuvloop\u003c/code\u003e integration and connection-handling improvements.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eServe HTTP/1.1 and HTTP/2 with \u003ccode\u003ezttp\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e). Install \u003ccode\u003ezttp\u003c/code\u003e, then enable HTTP/2 with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Uvicorn negotiates HTTP/2 over TLS with ALPN and supports cleartext prior knowledge.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental.\u003c/strong\u003e Upgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ More event loop choice\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRun Uvicorn with \u003ccode\u003ezuvloop\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e). Install \u003ccode\u003ezuvloop\u003c/code\u003e separately and select it explicitly with \u003ccode\u003e--loop zuvloop\u003c/code\u003e on CPython 3.14 or newer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛡️ More reliable connections and proxies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHonor \u003ccode\u003eConnection: close\u003c/code\u003e token lists\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e). Uvicorn now parses comma-separated tokens case-insensitively across HTTP implementations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrust IPv6 loopback proxies by default\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e). The default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value now includes \u003ccode\u003e::1\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKeep upgraded WebSockets alive\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e). Uvicorn cancels the HTTP keep-alive timer when the connection becomes a WebSocket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.4...0.53.0\"\u003e0.52.4...0.53.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.52.3...0.52.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.52.3\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/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.53.0 (September 14, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e. Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\nUpgrade-based h2c and WebSockets over HTTP/2 are not supported.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental HTTP/2 support through \u003ccode\u003ezttp\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2982\"\u003e#2982\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3101\"\u003e#3101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003ezuvloop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3104\"\u003e#3104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle comma-separated, case-insensitive \u003ccode\u003eConnection: close\u003c/code\u003e tokens across HTTP implementations (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3103\"\u003e#3103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrust IPv6 loopback in the default \u003ccode\u003eFORWARDED_ALLOW_IPS\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancel the HTTP keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.4 (August 18, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove duplicate \u003ccode\u003eDate\u003c/code\u003e headers from accepted WebSocket handshakes with \u003ccode\u003ewebsockets-sansio\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.3 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3067\"\u003e#3067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.2 (August 13, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ezttp\u003c/code\u003e to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3063\"\u003e#3063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.52.1 (August 1, 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eComplete the closing handshake on server-initiated WebSocket closes in the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e and \u003ccode\u003ewsproto\u003c/code\u003e implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3053\"\u003e#3053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing write flow control to the \u003ccode\u003ewebsockets-sansio\u003c/code\u003e implementation, preventing data truncation on server-initiated closes with large in-flight payloads (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3048\"\u003e#3048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle connection loss while a WebSocket write is waiting on backpressure (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3050\"\u003e#3050\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/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/421708fbc1a704dac8bd4053a7c4c0bf4d3704ee\"\u003e\u003ccode\u003e421708f\u003c/code\u003e\u003c/a\u003e Version 0.53.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3136\"\u003e#3136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f1a1bff7be819f5724d6fdf86dfd448a97c62e23\"\u003e\u003ccode\u003ef1a1bff\u003c/code\u003e\u003c/a\u003e Unset the keep-alive timer when upgrading to WebSocket (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3107\"\u003e#3107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/63971ed952090438896e6eba7d07178b616d97cc\"\u003e\u003ccode\u003e63971ed\u003c/code\u003e\u003c/a\u003e Document HTTP/2 support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3130\"\u003e#3130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7d1a0055aee5e281accc646b559ddd147486bf8a\"\u003e\u003ccode\u003e7d1a005\u003c/code\u003e\u003c/a\u003e Remove race from multiprocess health check test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5ac6265a01ff6dcadb0e4250152c3deaf8a168a9\"\u003e\u003ccode\u003e5ac6265\u003c/code\u003e\u003c/a\u003e Add ::1 to FORWARDED_ALLOW_IPS (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3119\"\u003e#3119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.51.0...0.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.15.2 to 7.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/releases\"\u003ecoverage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.16.2\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a function return could mistakenly report an uncovered branch. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003eissue 2168\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is a \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the \u003ccode\u003ewith\u003c/code\u003e raised. This is now fixed, closing \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003eissue 2289\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own. Now they are, on Python 3.11 and later. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003eissue 1923\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.2\"\u003ecoverage 7.16.2\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.2\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.16.1\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.1 — 2026-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: when the body of an irrefutable \u003ccode\u003ecase\u003c/code\u003e (like \u003ccode\u003ecase _:\u003c/code\u003e) is entirely excluded, the \u003ccode\u003ecase\u003c/code\u003e line is now excluded too, just as an excluded \u003ccode\u003eelse:\u003c/code\u003e body removes the \u003ccode\u003eelse:\u003c/code\u003e line. Previously the \u003ccode\u003ecase\u003c/code\u003e line was left behind and reported as missing. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1563\"\u003eissue 1563\u003c/a\u003e with \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2269\"\u003epull 2269\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: using \u003ca href=\"https://coverage.readthedocs.io/en/latest/api_coveragedata.html#coverage.CoverageData.update\"\u003eCoverageData.update()\u003c/a\u003e twice on an in-memory database would fail, as described in \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2279\"\u003eissue 2279\u003c/a\u003e. This is now fixed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.1\"\u003ecoverage 7.16.1\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.1\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.16.0\u003c/h2\u003e\n\u003ch2\u003eVersion 7.16.0 — 2026-08-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen combining files, now path separator slashes will automatically be converted to the local file system style. This makes it less necessary to define \u003ccode\u003e[paths]\u003c/code\u003e configuration to combine data across operating systems. Fixes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2266\"\u003eissue 2266\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ca href=\"https://coverage.readthedocs.io/en/latest/api_coverage.html#coverage.Coverage.switch_context\"\u003eCoverage.switch_context()\u003c/a\u003e method now returns the previous context.\u003c/li\u003e\n\u003cli\u003eFix: previously, a \u003ccode\u003e[paths]\u003c/code\u003e pattern would be replaced everywhere in a file path when it was only meant to be replaced once, in the leading portion of the path. This is now fixed, in \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2268\"\u003epull 2268\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixes to validation of options and configuration settings:\n\u003cul\u003e\n\u003cli\u003eNegative precision settings now always cause useful error messages (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2261\"\u003epull 2261\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAn invalid regex in the \u003ccode\u003e--contexts\u003c/code\u003e option (or the \u003ccode\u003e[report] contexts\u003c/code\u003e setting) reported a confusing “Couldn’t use data file …: user-defined function raised exception” error. Now it raises a proper configuration error naming the bad regex, like other regex settings do (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2262\"\u003epull 2262\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNon-string values in TOML configuration settings now produce a helpful error message instead of a traceback. This affects list settings whose elements aren’t strings (like \u003ccode\u003eomit\u003c/code\u003e, \u003ccode\u003eexclude_lines\u003c/code\u003e, or a \u003ccode\u003e[paths]\u003c/code\u003e entry), file settings like \u003ccode\u003edata_file\u003c/code\u003e, and any wrong-typed value in the \u003ccode\u003e[paths]\u003c/code\u003e section (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2263\"\u003epull 2263\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecoverage run\u003c/code\u003e refuses run-affecting command-line options like \u003ccode\u003e--branch\u003c/code\u003e alongside \u003ccode\u003e--concurrency=multiprocessing\u003c/code\u003e, since they can’t reach the subprocesses. The check only recognized \u003ccode\u003emultiprocessing\u003c/code\u003e as the entire option value, so \u003ccode\u003e--concurrency=multiprocessing,thread\u003c/code\u003e slipped through and failed later with “Can’t combine statement coverage data with branch data”. Each named concurrency library is now properly considered (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2270\"\u003epull 2270\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix: \u003ccode\u003ecoverage annotate -d DIR\u003c/code\u003e raised an \u003ccode\u003eAssertionError\u003c/code\u003e if any measured file had an extension other than \u003ccode\u003e.py\u003c/code\u003e, such as a \u003ccode\u003e.pyw\u003c/code\u003e file on Windows. The original extension is now restored on the annotated copy (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2265\"\u003epull 2265\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.16.0\"\u003ecoverage 7.16.0\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.16.0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.15.4\u003c/h2\u003e\n\u003ch2\u003eVersion 7.15.4 — 2026-08-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in the HTML report, a source file name containing a double quote (legal on POSIX) wasn’t escaped where it’s dropped into the \u003ccode\u003ehref\u003c/code\u003e of the index and prev/next links, so it could close the attribute early and inject markup. Page URLs are now escaped. Thanks, \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2227\"\u003eRajath Mohare\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix: the LCOV report wrote file names and other fields into its line-oriented records without neutralizing control characters. A measured file whose name contained a newline (legal on POSIX) could forge extra records, inflating the coverage seen by tools that read the report. Control characters in a field are now replaced. Thanks, \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2226\"\u003eRajath Mohare\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eWheels are now provided for Python 3.15.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e:arrow_right:  PyPI page: \u003ca href=\"https://pypi.org/project/coverage/7.15.4\"\u003ecoverage 7.15.4\u003c/a\u003e.\n:arrow_right:  To install: \u003ccode\u003epython3 -m pip install coverage==7.15.4\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e7.15.3\u003c/h2\u003e\n\u003ch2\u003eVersion 7.15.3 — 2026-08-02\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: the sysmon core is incompatible with dynamic contexts. Previously, the combination would be prevented when read from the coverage.py configuration. But using the context API as pytest-cov does, contexts would be silently dropped. Now a warning is issued, thanks to \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2234\"\u003eJisang Han\u003c/a\u003e. Closes \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2200\"\u003eissue 2200\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eA performance improvement in the low-level line number bookkeeping when combining data files, thanks to \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2239\"\u003eKevin Turcios\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/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.16.2 — 2026-09-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, a \u003ccode\u003efor\u003c/code\u003e loop completing immediately before a\nfunction return could mistakenly report an uncovered branch. This is now\nfixed, closing \u003ccode\u003eissue 2168\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: on Python 3.14 and later, the \u003ccode\u003eelse\u003c/code\u003e clause of a \u003ccode\u003etry\u003c/code\u003e whose body is\na \u003ccode\u003ewith\u003c/code\u003e statement could incorrectly be reported as covered when the\n\u003ccode\u003ewith\u003c/code\u003e raised.  This is now fixed, closing \u003ccode\u003eissue 2289\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: with \u003ccode\u003edynamic_context = test_function\u003c/code\u003e, test methods written as\n\u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e were not given a context of their own.\nNow they are, on Python 3.11 and later.  Closes \u003ccode\u003eissue 1923\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1923: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1923\"\u003ecoveragepy/coveragepy#1923\u003c/a\u003e\n.. _issue 2168: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2168\"\u003ecoveragepy/coveragepy#2168\u003c/a\u003e\n.. _issue 2289: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2289\"\u003ecoveragepy/coveragepy#2289\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-16-1:\u003c/p\u003e\n\u003ch2\u003eVersion 7.16.1 — 2026-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when the body of an irrefutable \u003ccode\u003ecase\u003c/code\u003e (like \u003ccode\u003ecase _:\u003c/code\u003e) is entirely\nexcluded, the \u003ccode\u003ecase\u003c/code\u003e line is now excluded too, just as an excluded\n\u003ccode\u003eelse:\u003c/code\u003e body removes the \u003ccode\u003eelse:\u003c/code\u003e line.  Previously the \u003ccode\u003ecase\u003c/code\u003e line was\nleft behind and reported as missing.  Closes \u003ccode\u003eissue 1563\u003c/code\u003e_ with \u003ccode\u003epull 2269\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: using :meth:\u003ccode\u003e.CoverageData.update\u003c/code\u003e twice on an in-memory database would\nfail, as described in \u003ccode\u003eissue 2279\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1563: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1563\"\u003ecoveragepy/coveragepy#1563\u003c/a\u003e\n.. _pull 2269: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2269\"\u003ecoveragepy/coveragepy#2269\u003c/a\u003e\n.. _issue 2279: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2279\"\u003ecoveragepy/coveragepy#2279\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-16-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.16.0 — 2026-08-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen combining files, now path separator slashes will automatically be\nconverted to the local file system style. This makes it less necessary to\ndefine \u003ccode\u003e[paths]\u003c/code\u003e configuration to combine data across operating systems.\nFixes \u003ccode\u003eissue 2266\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :meth:\u003ccode\u003e.Coverage.switch_context\u003c/code\u003e method now returns the previous context.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: previously, a \u003ccode\u003e[paths]\u003c/code\u003e pattern would be replaced everywhere in a file\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/5643ae7c682bbd56ee1ac2b11556145ab8c2cab0\"\u003e\u003ccode\u003e5643ae7\u003c/code\u003e\u003c/a\u003e docs: prep for 7.16.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a3e969fc6ce8273538702a2336d8c2674f8017d8\"\u003e\u003ccode\u003ea3e969f\u003c/code\u003e\u003c/a\u003e fix: dynamic_context for \u003ca href=\"https://github.com/staticmethod\"\u003e\u003ccode\u003e@​staticmethod\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/classmethod\"\u003e\u003ccode\u003e@​classmethod\u003c/code\u003e\u003c/a\u003e tests (issue 1923) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ad72362f03e59643865d15ffadd002529a777a9\"\u003e\u003ccode\u003e8ad7236\u003c/code\u003e\u003c/a\u003e fix: stop counting the try/else line when a with statement raises (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2301\"\u003e#2301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c6dab1fc387d161fe5938ce9421a7a38ca81ae7f\"\u003e\u003ccode\u003ec6dab1f\u003c/code\u003e\u003c/a\u003e fix(debug): debug output doesn't mis-handle odd line separators \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2296\"\u003e#2296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/08fbc3229adc8e7681a0d9134d3d5beb1684ae54\"\u003e\u003ccode\u003e08fbc32\u003c/code\u003e\u003c/a\u003e style: Protocols should use \u003ccode\u003e...\u003c/code\u003e for method bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/bc7b0e386388148687241cadcab56ac3e17aea9c\"\u003e\u003ccode\u003ebc7b0e3\u003c/code\u003e\u003c/a\u003e refactor: positional-only args are better than pragmas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/52afd6be360c3b949d69ff83aca873c119a7959a\"\u003e\u003ccode\u003e52afd6b\u003c/code\u003e\u003c/a\u003e Document parallel tox coverage data files (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2284\"\u003e#2284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f653aaec4c58f89375716389e4ca17dd056d2069\"\u003e\u003ccode\u003ef653aae\u003c/code\u003e\u003c/a\u003e fix: loop completion arcs on Python 3.14 (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cc1ced4d4c8ef7674a824002aa5157d1f37acd78\"\u003e\u003ccode\u003ecc1ced4\u003c/code\u003e\u003c/a\u003e test: PyPy still compiles comprehensions as functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/85a9088395e89840cb11c1c86735ba1f7a62d50d\"\u003e\u003ccode\u003e85a9088\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.15.2...7.16.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.161.5 to 6.168.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ca2a4c6e3c6b979d9fbb5ef9db614885a736d2aa\"\u003e\u003ccode\u003eca2a4c6\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.168.5 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypo...\n\n_Description has been truncated_","html_url":"https://github.com/Interloperok/AI.InfraCalculator/pull/133","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interloperok%2FAI.InfraCalculator/issues/133","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/133/packages"}},{"old_version":"6.168.0","new_version":"6.168.5","update_type":"patch","path":null,"pr_created_at":"2026-10-12T08:44:24.000Z","version_change":"6.168.0 → 6.168.5","issue":{"uuid":"5810880805","node_id":"PR_kwDOUwG34M8AAAABH7Y9Eg","number":7,"state":"closed","title":"chore(deps): bump the python-minor-and-patch 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-10-19T03:19:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-12T08:44:24.000Z","updated_at":"2026-10-19T03:19:37.000Z","time_to_close":585311,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-and-patch","update_count":9,"packages":[{"name":"fastapi","old_version":"0.141.1","new_version":"0.143.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.53.0","new_version":"0.54.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic","old_version":"2.13.5","new_version":"2.14.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"opentelemetry-api","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.44.0","new_version":"1.45.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"anthropic","old_version":"1.5.0","new_version":"1.12.1","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"hypothesis","old_version":"6.168.0","new_version":"6.168.5","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"ruff","old_version":"0.16.7","new_version":"0.16.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/python/mypy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.141.1` | `0.143.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.53.0` | `0.54.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.44.0` | `1.45.1` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `1.5.0` | `1.12.1` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.168.0` | `6.168.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.7` | `0.16.10` |\n| [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` |\n\n\nUpdates `fastapi` from 0.141.1 to 0.143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.143.0\u003c/h2\u003e\n\u003cp\u003eAutomatic OpenTelemetry exporter setup is now opt-in. If you rely on FastAPI to configure exporters from \u003ccode\u003eOTEL_*\u003c/code\u003e environment variables, set \u003ccode\u003eFASTAPI_OTEL_AUTO_CONFIGURE=true\u003c/code\u003e or use \u003ccode\u003eFastAPI(telemetry={\u0026quot;auto_configure\u0026quot;: True})\u003c/code\u003e to retain the previous behavior.\u003c/p\u003e\n\u003cp\u003eApplications that configure their own providers and exporters require no changes. FastAPI Cloud enables automatic setup for you.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e💥 Require opt-in for automatic OpenTelemetry exporter setup. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16476\"\u003e#16476\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.142.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Isolate FastAPI telemetry for excluded requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16470\"\u003e#16470\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.142.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache OpenTelemetry tracers to preserve warning deduplication. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16468\"\u003e#16468\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Remove HTML title from newsletter to avoid the tooltip. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16461\"\u003e#16461\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📝 Embed the FastAPI and friends newsletter signup form. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16459\"\u003e#16459\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 skill, use Asyncer for blocking code in threads. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16420\"\u003e#16420\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for fr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16436\"\u003e#16436\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for hi (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16435\"\u003e#16435\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16434\"\u003e#16434\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16433\"\u003e#16433\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16432\"\u003e#16432\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16431\"\u003e#16431\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16430\"\u003e#16430\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16429\"\u003e#16429\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16428\"\u003e#16428\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16425\"\u003e#16425\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16426\"\u003e#16426\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16427\"\u003e#16427\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pr-submit\"\u003e\u003ccode\u003e@​pr-submit[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update Russian LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16449\"\u003e#16449\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix deprecated command in \u003ccode\u003ebump-pre-commit-hooks\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16463\"\u003e#16463\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 sponsors: remove Render. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16457\"\u003e#16457\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Use \u003ccode\u003egpt-6-astra\u003c/code\u003e model for translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16453\"\u003e#16453\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump the python-packages group across 1 directory with 14 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16447\"\u003e#16447\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 starlette from 1.6.0 to 1.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16440\"\u003e#16440\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 pyjwt from 2.13.0 to 2.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16423\"\u003e#16423\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 gitpython from 3.1.60 to 3.1.62. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/16444\"\u003e#16444\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f5c6e9b4f9cadc1bf0f9a1fd672e621206b63007\"\u003e\u003ccode\u003ef5c6e9b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.143.0 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16477\"\u003e#16477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/182c8b8c83a0c3f19b61e31e092570af7d4e637b\"\u003e\u003ccode\u003e182c8b8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/af889e400baeb33c1594c84618a806c9c6a7f7ff\"\u003e\u003ccode\u003eaf889e4\u003c/code\u003e\u003c/a\u003e 💥 Require opt-in for automatic OpenTelemetry exporter setup (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16476\"\u003e#16476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9269f17524e7990c39a9a1708db532810ceffc06\"\u003e\u003ccode\u003e9269f17\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.4 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16471\"\u003e#16471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/78ede017de7ef596b91be036aa31ba331cf77bb6\"\u003e\u003ccode\u003e78ede01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4e31a07bafd08f247f39ab1e9144ba2a62395757\"\u003e\u003ccode\u003e4e31a07\u003c/code\u003e\u003c/a\u003e 🐛 Isolate FastAPI telemetry for excluded requests (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16470\"\u003e#16470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb8dabcd4a7b44e180d7c258377ae4b0abf99bff\"\u003e\u003ccode\u003ecb8dabc\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.142.3 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16469\"\u003e#16469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/787dc561d524349a6eadca365d4f2844d66b1b9d\"\u003e\u003ccode\u003e787dc56\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6eae2f3456c889ad791de38dd45c14e17de775d3\"\u003e\u003ccode\u003e6eae2f3\u003c/code\u003e\u003c/a\u003e 🐛 Cache OpenTelemetry tracers to preserve warning deduplication (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/94918c1d40afb27065c64d523219ed2ad9822f76\"\u003e\u003ccode\u003e94918c1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.141.1...0.143.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.53.0 to 0.54.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.54.0\u003c/h2\u003e\n\u003ch2\u003e📨 Send metadata after the response body\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003euvicorn\u003c/code\u003e 0.54.0 adds response trailers and \u003ccode\u003e103 Early Hints\u003c/code\u003e to its experimental HTTP/2 implementation through \u003ccode\u003ezttp\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003euv add uvicorn==0.54.0 \u0026quot;zttp\u0026gt;=0.0.34\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend HTTP/2 response trailers\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e). The ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension lets applications send metadata, such as checksums, after the response body. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them. Multiple trailer messages are combined before completing the response.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 remains experimental and opt-in.\u003c/strong\u003e Enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e. Upgrade-based h2c and WebSockets over HTTP/2 remain unsupported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💡 Hint at resources before the final response\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSend \u003ccode\u003e103 Early Hints\u003c/code\u003e over HTTP/2\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e). Applications can use the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension to send resource hints before the final response. Each supplied link becomes a separate \u003ccode\u003eLink\u003c/code\u003e header.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.0\"\u003e0.53.0...0.54.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.54.0 (September 24, 2026)\u003c/h2\u003e\n\u003cp\u003eHTTP/2 support remains experimental. Install \u003ccode\u003ezttp\u0026gt;=0.0.34\u003c/code\u003e and enable it with \u003ccode\u003e--http zttp --http2\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd HTTP/2 response trailers through the ASGI \u003ccode\u003ehttp.response.trailers\u003c/code\u003e extension. Clients must send \u003ccode\u003eTE: trailers\u003c/code\u003e to receive them (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd HTTP/2 \u003ccode\u003e103 Early Hints\u003c/code\u003e through the ASGI \u003ccode\u003ehttp.response.early_hint\u003c/code\u003e extension (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3eb9a9ab9af69005c687728097461c1fd2a95db9\"\u003e\u003ccode\u003e3eb9a9a\u003c/code\u003e\u003c/a\u003e Version 0.54.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3161\"\u003e#3161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd7ef6d31c1a09a3653f326cda7813d35ffd6082\"\u003e\u003ccode\u003ecd7ef6d\u003c/code\u003e\u003c/a\u003e Remove races from supervisor tests (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a56c7cce64aaa37e5864f882a5cbce8aa1dac47a\"\u003e\u003ccode\u003ea56c7cc\u003c/code\u003e\u003c/a\u003e Support HTTP/2 response trailers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9bd4404cca9506e9ba4f46b69ef72d011ceef2bd\"\u003e\u003ccode\u003e9bd4404\u003c/code\u003e\u003c/a\u003e chore(deps): bump anyio from 4.13.0 to 4.14.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/21f39ef7988366f77fb3172569bd235ac5de34cc\"\u003e\u003ccode\u003e21f39ef\u003c/code\u003e\u003c/a\u003e Add HTTP/2 Early Hints support (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.53.0...0.54.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.5 to 2.14.0\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.14.0 2026-10-08\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\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.14.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0b2 2026-09-09\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis pre-release adds full support for Python 3.15 specific features, such as support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e, making use of \u003ca href=\"https://docs.python.org/3.15/library/typing.html#typing.TypeForm\"\u003e\u003ccode\u003eTypeForm\u003c/code\u003e\u003c/a\u003e and stabilizing the \u003ca href=\"https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel\"\u003e\u003ccode\u003eMISSING\u003c/code\u003e sentinel\u003c/a\u003e type.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow any \u003ccode\u003eCoreSchema\u003c/code\u003e to be used as serialization 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/13680\"\u003e#13680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://docs.python.org/3.15/library/stdtypes.html#frozendict\"\u003e\u003ccode\u003efrozendict\u003c/code\u003e\u003c/a\u003e type 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/13634\"\u003e#13634\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0 (2026-10-08)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThe highlights of the v2.14 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-14-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release drops support for Python 3.9 and adds support for Python 3.15.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003emultiple_of\u003c/code\u003e constraint in \u003ccode\u003efraction\u003c/code\u003e and \u003ccode\u003etimedelta\u003c/code\u003e core schemas 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/13873\"\u003e#13873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__namespace__\u003c/code\u003e parameter to \u003ccode\u003ecreate_model()\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/13895\"\u003e#13895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an \u003ccode\u003eordered-dict\u003c/code\u003e core schema 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/13796\"\u003e#13796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ecounter\u003c/code\u003e core schema 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/13824\"\u003e#13824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not mutate \u003ccode\u003emodel_config\u003c/code\u003e attribute 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/13825\"\u003e#13825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject newlines in \u003ccode\u003eNameEmail\u003c/code\u003e validation 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/13897\"\u003e#13897\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCall enum constructors in both validation modes 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/13792\"\u003e#13792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix documentation examples not raising and remove unused \u003ccode\u003estring_sub_type\u003c/code\u003e unused error code 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/13821\"\u003e#13821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch \u003ccode\u003eOverflowError\u003c/code\u003e during \u003ccode\u003eByteSize\u003c/code\u003e validation 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/13850\"\u003e#13850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire \u003ccode\u003emultiple_of\u003c/code\u003e constraints to be positive 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/13862\"\u003e#13862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pop field name and model type stacks during schema generation by \u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eTypeError\u003c/code\u003e gracefully during docstring extraction 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/13874\"\u003e#13874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config propagation of stdlib dataclasses and \u003ccode\u003eTypedDict\u003c/code\u003es in JSON Schema 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/13891\"\u003e#13891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't apply \u003ccode\u003eser_json_timedelta\u003c/code\u003e to all datetime types in serialization inference 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/13892\"\u003e#13892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode JSON Schema defaults with a consistent configuration 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/13893\"\u003e#13893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate \u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003ekw_only=False\u003c/code\u003e from \u003ccode\u003eField()\u003c/code\u003e to stdlib dataclass fields 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/13898\"\u003e#13898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect propagated extra config in the JSON Schema of stdlib dataclasses 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/13899\"\u003e#13899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle OS errors during \u003ccode\u003eZoneInfo\u003c/code\u003e validation 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/13912\"\u003e#13912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation 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/13940\"\u003e#13940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRebuild incomplete types during serialization inference 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/13922\"\u003e#13922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation 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/13944\"\u003e#13944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid validating URL prefix multiple times in multi host URLs 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/13945\"\u003e#13945\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saquibjawedbit\"\u003e\u003ccode\u003e@​saquibjawedbit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13859\"\u003e#13859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.14.0b2 (2026-09-09)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2\"\u003eGitHub release\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/fcdefa7198c4fc94a22eecf1a5b7926e20b9fc8a\"\u003e\u003ccode\u003efcdefa7\u003c/code\u003e\u003c/a\u003e Correct v2.14.0 release date (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13952\"\u003e#13952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c821eaccf9873357477a1e7d2d4d12dd4e161c8a\"\u003e\u003ccode\u003ec821eac\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Respect config in \u003ccode\u003eTypeAdapter.json_schemas()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13890\"\u003e#13890\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a656b75d58a80f5033f376f7af17092606bbfde2\"\u003e\u003ccode\u003ea656b75\u003c/code\u003e\u003c/a\u003e Prepare release v2.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13948\"\u003e#13948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4028f9d87e34750e53be0ba011d70f3c0fcc94e\"\u003e\u003ccode\u003eb4028f9\u003c/code\u003e\u003c/a\u003e Avoid validating URL prefix multiple times in multi host URLs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13945\"\u003e#13945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/69ed168e9ad465eef4c8d81efb152a93b604daf5\"\u003e\u003ccode\u003e69ed168\u003c/code\u003e\u003c/a\u003e Reject large exponents in \u003ccode\u003eFraction\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13944\"\u003e#13944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/895c0c285c5cb4c0c7c7a4619a80941c12f2c75f\"\u003e\u003ccode\u003e895c0c2\u003c/code\u003e\u003c/a\u003e Fix datetime parsing in custom validator examples (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13931\"\u003e#13931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d2cbaaab74ba4a26bb66f604199ec9793aab6177\"\u003e\u003ccode\u003ed2cbaaa\u003c/code\u003e\u003c/a\u003e Bump virtualenv from 20.36.1 to 21.7.13 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13943\"\u003e#13943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3fbc25ab2bd4f370f478102652f20aea1f5de0b0\"\u003e\u003ccode\u003e3fbc25a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e dependencies (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13942\"\u003e#13942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/027b5c714791d5f6e86faea4110ef26f4776648c\"\u003e\u003ccode\u003e027b5c7\u003c/code\u003e\u003c/a\u003e Rebuild incomplete types during serialization inference (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13922\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2706d1f6cdd0ca5b941fd5170ecf0254f933e1f6\"\u003e\u003ccode\u003e2706d1f\u003c/code\u003e\u003c/a\u003e Handle exceptions during \u003ccode\u003eDecimal\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13940\"\u003e#13940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.5...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the\nLogger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip\nexpensive work when logging is disabled\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/open-telemetry/opentelemetry-python/commit/14971cef9c84c2354cbaf6871090896fad0f9a1a\"\u003e\u003ccode\u003e14971ce\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.1/0.66b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5752\"\u003e#5752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/44ac26edcee5cc99e03a65d6a1a9978775703e28\"\u003e\u003ccode\u003e44ac26e\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: fix thread leak bug in resource initialization logic (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/570\"\u003e#570\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/a2ec3f91f1c2b735ccba177eaa77d6019a4428ae\"\u003e\u003ccode\u003ea2ec3f9\u003c/code\u003e\u003c/a\u003e [release/v1.45.x-0.66bx] opentelemetry-exporter-otlp-proto-http: restore requ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d5224bf4ffdf2aee1b592ad238dcc32ca957f26b\"\u003e\u003ccode\u003ed5224bf\u003c/code\u003e\u003c/a\u003e opentelemetry-api: improve performance of tracestate parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5746\"\u003e#5746\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5749\"\u003e#5749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/db61173a56475d4fa1276d16182e46b43db83b9e\"\u003e\u003ccode\u003edb61173\u003c/code\u003e\u003c/a\u003e Declare AnyValue and AttributeValue as explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5703\"\u003e#5703\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5750\"\u003e#5750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2\"\u003e\u003ccode\u003e4f0fcfa\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.0/0.66b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690\"\u003e#5690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9\"\u003e\u003ccode\u003e9406f34\u003c/code\u003e\u003c/a\u003e opentelemetry-test-utils: add CapturingSampler for instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c\"\u003e\u003ccode\u003e1fe31a9\u003c/code\u003e\u003c/a\u003e fix: update W3CBaggagePropagator to properly handle whitespace (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680\"\u003e#5680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534\"\u003e\u003ccode\u003e008b5b0\u003c/code\u003e\u003c/a\u003e feat(config): wire top-level attribute_limits into per-signal providers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1\"\u003e\u003ccode\u003eedfad0c\u003c/code\u003e\u003c/a\u003e [opentelemetry-sdk] Fix overwriting of the service.instance.id which has been...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.44.0 to 1.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/releases\"\u003eopentelemetry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1\u003c/h2\u003e\n\u003cp\u003eThis is a patch release on the previous 1.45.0/0.66b0 release, fixing the issue(s) below.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for long running resource detectors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default HTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are honored again (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header and discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource attributes as metric labels (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute values everywhere. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative configuration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python logging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal diagnostics respect the configured severity. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level \u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add \u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the Logger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip expensive work when logging is disabled (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental \u003ccode\u003etracer_configurator/development\u003c/code\u003e, \u003ccode\u003emeter_configurator/development\u003c/code\u003e and \u003ccode\u003elogger_configurator/development\u003c/code\u003e fields into \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e, \u003ccode\u003ecreate_meter_provider\u003c/code\u003e and \u003ccode\u003ecreate_logger_provider\u003c/code\u003e, so per-instrumentation-scope \u003ccode\u003eenabled\u003c/code\u003e overrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The logger \u003ccode\u003eminimum_severity\u003c/code\u003e/\u003ccode\u003etrace_based\u003c/code\u003e fields are not supported by the Python SDK and are ignored with a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edocs/examples\u003c/code\u003e: add example on how to manually setup the SDK to get SDK metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5449\"\u003e#5449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-docker-tests\u003c/code\u003e: add Prometheus exporter docker tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: count records dropped after shutdown on \u003ccode\u003eotel.sdk.processor.{span,log}.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e (batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5509\"\u003e#5509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-semantic-conventions\u003c/code\u003e: update semantic conventions to v1.44.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5511\"\u003e#5511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003ehost.id\u003c/code\u003e to the host resource detector (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5653\"\u003e#5653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-test-utils\u003c/code\u003e: add \u003ccode\u003eCapturingSampler\u003c/code\u003e to record what samplers receive in instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable \u003ccode\u003ePIE\u003c/code\u003e (flake8-pie) ruff rule and fix all violations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5150\"\u003e#5150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe public \u003ccode\u003eopentelemetry.util.types.AttributeValue\u003c/code\u003e type in package \u003ccode\u003eopentelemetry-api\u003c/code\u003e is being expanded to include \u003ccode\u003eNone\u003c/code\u003e, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If a \u003ccode\u003ebytes\u003c/code\u003e type is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, since \u003ccode\u003ebytes\u003c/code\u003e is a valid type in the OTLP proto. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: add a \u003ccode\u003emax_request_size\u003c/code\u003e argument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BREAKING] \u003ccode\u003eopentelemetry-api\u003c/code\u003e: subclasses of \u003ccode\u003eLogger\u003c/code\u003e need to implement the \u003ccode\u003eenabled\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5389\"\u003e#5389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: unify logging force_flush timeout defaults to 30000ms (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-python\u003c/code\u003e: enable Ruff default ruleset and fix auto-fixable lint issues (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: \u003ccode\u003eSimpleSpanProcessor\u003c/code\u003e now drops spans ended after \u003ccode\u003eshutdown()\u003c/code\u003e instead of passing them to the exporter, and counts them on \u003ccode\u003eotel.sdk.processor.span.processed\u003c/code\u003e with \u003ccode\u003eerror.type=already_shutdown\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5512\"\u003e#5512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pytest to 9.0.3 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5518\"\u003e#5518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: clarify that the \u003ccode\u003eendpoint=\u003c/code\u003e kwarg requires the full signal path (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5633\"\u003e#5633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix typos in SpanLimits docstring (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5658\"\u003e#5658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: perform environment variable substitution on scalar values after parsing the configuration file, so \u003ccode\u003e${VAR}\u003c/code\u003e references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset \u003ccode\u003e${VAR}\u003c/code\u003e with no default) are skipped with a warning instead of being inserted as a null value. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5408\"\u003e#5408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e'scripts/build.sh\u003ccode\u003e: add \u003c/code\u003eopentelemetry-configuration\u003ccode\u003eand\u003c/code\u003eopentelemetry-proto-json` to the package to release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix \u003ccode\u003eView\u003c/code\u003e instrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying on \u003ccode\u003efnmatch\u003c/code\u003e's OS-dependent case handling (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5430\"\u003e#5430\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/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.45.1/0.66b1 (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: make \u003ccode\u003eAnyValue\u003c/code\u003e and \u003ccode\u003eAttributeValue\u003c/code\u003e explicit type\naliases\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5703\"\u003e#5703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix thread leak bug in resource initialization logic for\nlong running resource detectors\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5706\"\u003e#5706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: restore \u003ccode\u003erequests\u003c/code\u003e as the default\nHTTP transport so proxy environment variables such as \u003ccode\u003eHTTPS_PROXY\u003c/code\u003e are\nhonored again\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: fix quadratic time parsing of the \u003ccode\u003etracestate\u003c/code\u003e header\nand discard \u003ccode\u003etracestate\u003c/code\u003e headers longer than 8192 characters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5746\"\u003e#5746\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.45.0/0.66b0 (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: add support to configure Resource\nattributes as metric labels\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5122\"\u003e#5122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einfra: add renovate\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5202\"\u003e#5202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add support for extended attribute\nvalues everywhere.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5266\"\u003e#5266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire the top-level \u003ccode\u003elog_level\u003c/code\u003e field in declarative\nconfiguration — when set, maps the OTel \u003ccode\u003eSeverityNumber\u003c/code\u003e value to a Python\nlogging level and applies it to the \u003ccode\u003eopentelemetry\u003c/code\u003e logger so SDK internal\ndiagnostics respect the configured severity.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5351\"\u003e#5351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add the new stable \u003ccode\u003eAlwaysRecordSampler\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5354\"\u003e#5354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: wire top-level\n\u003ccode\u003eattribute_limits\u003c/code\u003e into per-signal providers via declarative config; add\n\u003ccode\u003elog_record_limits\u003c/code\u003e support to \u003ccode\u003eLoggerProvider\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-http\u003c/code\u003e: add OTLP JSON HTTP exporter package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5374\"\u003e#5374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: add \u003ccode\u003eenabled()\u003c/code\u003e support to the\nLogger API, SDK, and \u003ccode\u003eLogRecordProcessor\u003c/code\u003e to let instrumentation skip\nexpensive work when logging is disabled\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5380\"\u003e#5380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-json-file\u003c/code\u003e: add OTLP JSON file Docker tests\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5412\"\u003e#5412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-configuration\u003c/code\u003e: wire the experimental\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/open-telemetry/opentelemetry-python/commit/14971cef9c84c2354cbaf6871090896fad0f9a1a\"\u003e\u003ccode\u003e14971ce\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.1/0.66b1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5752\"\u003e#5752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/44ac26edcee5cc99e03a65d6a1a9978775703e28\"\u003e\u003ccode\u003e44ac26e\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: fix thread leak bug in resource initialization logic (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/570\"\u003e#570\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/a2ec3f91f1c2b735ccba177eaa77d6019a4428ae\"\u003e\u003ccode\u003ea2ec3f9\u003c/code\u003e\u003c/a\u003e [release/v1.45.x-0.66bx] opentelemetry-exporter-otlp-proto-http: restore requ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/d5224bf4ffdf2aee1b592ad238dcc32ca957f26b\"\u003e\u003ccode\u003ed5224bf\u003c/code\u003e\u003c/a\u003e opentelemetry-api: improve performance of tracestate parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5746\"\u003e#5746\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5749\"\u003e#5749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/db61173a56475d4fa1276d16182e46b43db83b9e\"\u003e\u003ccode\u003edb61173\u003c/code\u003e\u003c/a\u003e Declare AnyValue and AttributeValue as explicit type aliases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5703\"\u003e#5703\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5750\"\u003e#5750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/4f0fcfa53e53a8c654a34df0d0a1fd74483ebca2\"\u003e\u003ccode\u003e4f0fcfa\u003c/code\u003e\u003c/a\u003e Prepare release 1.45.0/0.66b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5690\"\u003e#5690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9406f34ca29d78ad760658ccb9f37b7b6c8e58e9\"\u003e\u003ccode\u003e9406f34\u003c/code\u003e\u003c/a\u003e opentelemetry-test-utils: add CapturingSampler for instrumentation tests (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5681\"\u003e#5681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1fe31a9bd00c88c824060506aed49b0611fe6e9c\"\u003e\u003ccode\u003e1fe31a9\u003c/code\u003e\u003c/a\u003e fix: update W3CBaggagePropagator to properly handle whitespace (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5680\"\u003e#5680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/008b5b0a06c521203b43842c2604acfce9a2b534\"\u003e\u003ccode\u003e008b5b0\u003c/code\u003e\u003c/a\u003e feat(config): wire top-level attribute_limits into per-signal providers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/edfad0cafec718ff0f635232390e7f37e2460ab1\"\u003e\u003ccode\u003eedfad0c\u003c/code\u003e\u003c/a\u003e [opentelemetry-sdk] Fix overwriting of the service.instance.id which has been...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 1.5.0 to 1.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/releases\"\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/rouviere-german/agent-supervision-tree/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouviere-german%2Fagent-supervision-tree/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}}]}