{"id":10702,"name":"astroid","ecosystem":"pip","repository_url":"https://github.com/pylint-dev/astroid","issues_count":331,"created_at":"2025-06-06T22:51:43.103Z","updated_at":"2025-06-06T22:51:43.103Z","purl":"pkg:pypi/astroid","metadata":{"id":2645287,"name":"astroid","ecosystem":"pypi","description":"An abstract syntax tree for Python with inference support.","homepage":null,"licenses":"lgpl-2.1","normalized_licenses":["LGPL-2.1"],"repository_url":"https://github.com/pylint-dev/astroid","keywords_array":["abstract syntax tree","python","static code analysis"],"namespace":null,"versions_count":170,"first_release_published_at":"2013-07-30T13:44:43.000Z","latest_release_published_at":"2025-05-10T13:33:08.000Z","latest_release_number":"3.3.10","last_synced_at":"2025-06-06T02:03:27.370Z","created_at":"2022-04-10T10:05:16.784Z","updated_at":"2025-06-06T02:03:27.370Z","registry_url":"https://pypi.org/project/astroid/","install_command":"pip install astroid --index-url https://pypi.org/simple","documentation_url":"https://astroid.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 6 - Mature","Environment :: Console","Intended Audience :: Developers","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Software Development :: Libraries :: Python Modules","Topic :: Software Development :: Quality Assurance","Topic :: Software Development :: Testing"],"normalized_name":"astroid"},"repo_metadata":{"id":37502504,"uuid":"47649855","full_name":"pylint-dev/astroid","owner":"pylint-dev","description":"A common base representation of python source code for pylint and other projects","archived":false,"fork":false,"pushed_at":"2024-04-30T10:46:48.000Z","size":16413,"stargazers_count":510,"open_issues_count":164,"forks_count":261,"subscribers_count":25,"default_branch":"main","last_synced_at":"2024-05-01T16:07:43.993Z","etag":null,"topics":["ast","closember","hacktoberfest","inference-engine","parser","static-analysis","static-code-analysis"],"latest_commit_sha":null,"homepage":"https://pylint.readthedocs.io/projects/astroid/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pylint-dev.png","metadata":{"files":{"readme":"README.rst","changelog":"ChangeLog","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"tidelift":"pypi/astroid"}},"created_at":"2015-12-08T21:12:00.000Z","updated_at":"2024-07-20T13:40:18.810Z","dependencies_parsed_at":"2023-08-29T06:35:36.086Z","dependency_job_id":"ee564844-ae87-40a6-b6be-193a766e34ee","html_url":"https://github.com/pylint-dev/astroid","commit_stats":{"total_commits":4423,"total_committers":200,"mean_commits":22.115,"dds":0.8213881980556184,"last_synced_commit":"7a3b482b9673243d2ccc895672eb1e452f5daa82"},"previous_names":["PyCQA/astroid","pycqa/astroid"],"tags_count":195,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pylint-dev","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217590877,"owners_count":16201237,"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":"pylint-dev","name":"pylint-dev","uuid":"121692054","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/121692054?v=4","repositories_count":1,"last_synced_at":"2023-03-29T13:00:14.120Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pylint-dev","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-03-29T13:00:14.122Z","updated_at":"2023-03-29T13:00:14.122Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pylint-dev","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pylint-dev/repositories"},"tags":[{"name":"v3.2.4","sha":"f022800b046679d4229fb75391c0aaca5087cd1b","kind":"commit","published_at":"2024-07-20T12:54:24.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.2.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.4/manifests"},{"name":"v3.2.3","sha":"30ea72014bd63b5803294e049424900e845f1346","kind":"commit","published_at":"2024-07-11T15:00:07.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.2.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.3/manifests"},{"name":"v3.2.2","sha":"a35821aa6e98893c715b770bbbfb2b104a4a97a2","kind":"commit","published_at":"2024-05-19T22:21:03.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.2.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.2/manifests"},{"name":"v3.2.1","sha":"0ce116d3109a0bee3ddeffd8528c9f3f9a6b975f","kind":"commit","published_at":"2024-05-16T11:50:36.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.2.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"7d4d8051afc07425af6834e3d69b7bbafafec987","kind":"commit","published_at":"2024-05-07T11:38:25.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.2.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"3fb17a1af9f71ca1f97f623c2e141d32796a5a43","kind":"commit","published_at":"2024-02-23T16:01:03.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.1.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.1.0/manifests"},{"name":"v3.0.3","sha":"0375d1a22262b4d7a4327aad5d770b2cd262c4ef","kind":"commit","published_at":"2024-02-04T15:11:50.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"e6dea9cc9e8427f1b0e405dc5de8002a0c3f5239","kind":"commit","published_at":"2023-12-12T12:43:18.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"0191f534213364a844e8138dd68bb71f3ba603e3","kind":"commit","published_at":"2023-10-16T00:52:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"2891dafec472aa0ce7939c984965b345f7052036","kind":"commit","published_at":"2023-09-26T13:14:01.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0/manifests"},{"name":"v2.15.8","sha":"c633af204678a69708857af0793b2a4ca11107b0","kind":"commit","published_at":"2023-09-26T12:35:48.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.8","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.8/manifests"},{"name":"v3.0.0b0","sha":"3dbb5d7fba0acba98cc2b8f8271e7194ab3d47a0","kind":"commit","published_at":"2023-09-24T12:38:14.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0b0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0b0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0b0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0b0/manifests"},{"name":"v2.15.7","sha":"29b42e5e9745b172d5980511d14efeac745a5a82","kind":"commit","published_at":"2023-09-23T19:47:55.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.7","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.7/manifests"},{"name":"v3.0.0a9","sha":"0361eb460fc92da6ac3c69637cc6a8698b509d88","kind":"commit","published_at":"2023-08-06T19:35:55.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a9","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a9/manifests"},{"name":"v3.0.0a8","sha":"fa699abf9e940d007eea665fba1b2a37f0d37343","kind":"commit","published_at":"2023-07-15T12:45:18.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a8","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a8/manifests"},{"name":"v2.15.6","sha":"30c3112bda109183d2e31b098b8bb7fdd7a1fd9d","kind":"commit","published_at":"2023-07-08T18:25:56.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.6/manifests"},{"name":"v3.0.0a7","sha":"01c35516a2ef67a7ba1b43fa5548eaa6edb44352","kind":"commit","published_at":"2023-07-08T11:27:25.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a7","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a7/manifests"},{"name":"v3.0.0a6","sha":"6469710c7dfa514169b348333a05b0137c0dfdcc","kind":"commit","published_at":"2023-07-04T20:06:41.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a6/manifests"},{"name":"v3.0.0a5","sha":"9df6012d792916a56723456f596328aac36e253f","kind":"commit","published_at":"2023-06-13T07:50:04.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a5/manifests"},{"name":"v3.0.0a4","sha":"f675f19bda06083862ce080b7bcf00a2b1d749b5","kind":"commit","published_at":"2023-06-06T19:55:10.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a4/manifests"},{"name":"v3.0.0a3","sha":"9ce1bc38cad5af5b838d132b8e4aa29e5eab3857","kind":"commit","published_at":"2023-05-14T17:44:12.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a3/manifests"},{"name":"v2.15.5","sha":"8523ba827006d56a770a1f6efa77215718ef26c0","kind":"commit","published_at":"2023-05-14T17:31:36.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.5/manifests"},{"name":"v3.0.0a2","sha":"a2178fff0527bb80f4514a4744b3473cd0637a6c","kind":"commit","published_at":"2023-04-25T17:52:22.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a2/manifests"},{"name":"v3.0.0a1","sha":"034fb9272727e69222f6f033897cb4a084ec949f","kind":"commit","published_at":"2023-04-25T12:00:22.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v3.0.0a1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v3.0.0a1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v3.0.0a1/manifests"},{"name":"v2.15.4","sha":"420a59a7da81828e982fabfd34e1533ffddf6400","kind":"commit","published_at":"2023-04-24T08:51:12.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.4/manifests"},{"name":"v2.15.3","sha":"c312218289798207813971af540fbed43c6963b5","kind":"commit","published_at":"2023-04-16T20:36:26.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.3/manifests"},{"name":"v2.15.2","sha":"85b698466afe12c750842dc2522f2823365d9fbc","kind":"commit","published_at":"2023-04-02T19:19:53.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.2/manifests"},{"name":"v2.15.1","sha":"1bc3e7603042363d1bc01f53ad6b5fe97ee18fc7","kind":"commit","published_at":"2023-03-26T13:11:35.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.1/manifests"},{"name":"v2.15.0","sha":"edf88c65d794acb5582e1d27589be9fa73b00424","kind":"commit","published_at":"2023-03-05T23:01:42.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.15.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.15.0/manifests"},{"name":"v2.14.2","sha":"4182d0eef9528654fc683ce4a0625dddf8343d7f","kind":"commit","published_at":"2023-02-12T17:12:45.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.14.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.14.2/manifests"},{"name":"v2.14.1","sha":"b4214142c8d16089f9f328f0a5422093b6886763","kind":"commit","published_at":"2023-01-31T21:38:48.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.14.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.14.1/manifests"},{"name":"v2.13.5","sha":"de9736de43cdf2d7ca6165fdde265075bfc5f6d8","kind":"commit","published_at":"2023-01-31T21:18:17.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.13.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.13.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.5/manifests"},{"name":"v2.14.0","sha":"b644c1e834b491b465c5d61ead0373342029621a","kind":"commit","published_at":"2023-01-31T14:39:46.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.14.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.14.0/manifests"},{"name":"v2.13.4","sha":"d9023eff11ef87cec646d45de78785e429593deb","kind":"commit","published_at":"2023-01-31T13:16:28.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.13.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.13.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.4/manifests"},{"name":"v2.13.3","sha":"aed900b56f180faf34b2b28541dca41bac905e5e","kind":"commit","published_at":"2023-01-20T20:26:25.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.13.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.13.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.3/manifests"},{"name":"v2.13.2","sha":"f717084fea5ba9c030b7a8fe08336b7ee7b66b64","kind":"commit","published_at":"2023-01-08T13:22:39.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.13.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.2/manifests"},{"name":"v2.13.1","sha":"b015ec0a0b76ec49fb7c21ab2685f6f5002d1c6f","kind":"commit","published_at":"2023-01-08T11:56:54.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.13.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.1/manifests"},{"name":"v2.13.0","sha":"1d49b8cc52042b83d7c5a6ad814d98803409d859","kind":"commit","published_at":"2023-01-07T18:59:42.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.13.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.13.0/manifests"},{"name":"v2.12.14","sha":"b7c6c419c5e2e522eab9763fcaa79fd3f9bdc4fc","kind":"commit","published_at":"2023-01-06T19:32:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.14","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.14/manifests"},{"name":"v2.12.13","sha":"8bdec591f228e7db6a0be66b6ca814227ff50001","kind":"commit","published_at":"2022-11-19T14:50:34.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.13","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.13/manifests"},{"name":"v2.12.12","sha":"52f6d2d7722db383af035be929f18af5e9fe8cd5","kind":"commit","published_at":"2022-10-19T08:44:58.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.12","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.12/manifests"},{"name":"v2.12.11","sha":"f2308bc173172426ebd91f05b72dc5ca8a974fa6","kind":"commit","published_at":"2022-10-10T11:58:08.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.11","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.11/manifests"},{"name":"v2.12.10","sha":"9c3b002f7825b7f5743a2acbb46010ab73e7e516","kind":"commit","published_at":"2022-09-17T16:37:39.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.10","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.10/manifests"},{"name":"v2.12.9","sha":"7352e947bdf9b9c5ea51e601bbed7a063e98316d","kind":"commit","published_at":"2022-09-07T10:42:57.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.9","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.9/manifests"},{"name":"v2.12.8","sha":"65bca39bbf254bc760ac9d388e5a09333eaf5c87","kind":"commit","published_at":"2022-09-06T16:22:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.8","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.8/manifests"},{"name":"v2.12.7","sha":"b2dbf7bdaa02436962c4c5ccbc6bbb8b8e0c3295","kind":"commit","published_at":"2022-09-06T10:37:43.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.7","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.7/manifests"},{"name":"v2.12.6","sha":"e194631088aee587140c029a0404f8d40c6765b5","kind":"commit","published_at":"2022-09-05T17:31:44.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.6/manifests"},{"name":"v2.12.5","sha":"c313631bca83f7b6eb7dd8990aa702b85eb22d64","kind":"commit","published_at":"2022-08-29T07:13:38.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.5/manifests"},{"name":"v2.12.4","sha":"7fba17d69b033a5aace1d7b1aed7887a8ef2c4b4","kind":"commit","published_at":"2022-08-25T10:14:40.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.4/manifests"},{"name":"v2.12.3","sha":"060cefa51884d176fdacf1b8ea18cee3ae0b0948","kind":"commit","published_at":"2022-08-23T11:14:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.3/manifests"},{"name":"v2.12.2","sha":"14a0d657809ab5b42e7d416b686953508e6d8b91","kind":"commit","published_at":"2022-07-12T08:14:18.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.2/manifests"},{"name":"v2.12.1","sha":"ab469e2010bed6d5998d03667579cc338c7e77b8","kind":"commit","published_at":"2022-07-10T06:26:53.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.1/manifests"},{"name":"v2.12.0","sha":"876424badaa50eadcd625242551b058b8d43fcca","kind":"commit","published_at":"2022-07-09T15:11:06.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.12.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.12.0/manifests"},{"name":"v2.11.7","sha":"502ccf48834b6f7bc1bb1b9437554d46c5584a0c","kind":"commit","published_at":"2022-07-09T13:07:37.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.7","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.7/manifests"},{"name":"v2.11.6","sha":"80883503e1a2505ef54954a2dac16278e7e19e58","kind":"commit","published_at":"2022-06-13T14:25:36.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.6/manifests"},{"name":"v2.11.5","sha":"218ed2bb53ce90518e128ab34abc4b087255745e","kind":"commit","published_at":"2022-05-09T11:36:01.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.5/manifests"},{"name":"v2.11.4","sha":"5f30afe05e8205606e863bf6b0135b1425b8e83d","kind":"commit","published_at":"2022-05-02T11:59:44.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.4/manifests"},{"name":"v2.11.3","sha":"36b81ead6dcecde342c696eab3089267acbe4ff3","kind":"commit","published_at":"2022-04-19T20:30:18.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.3/manifests"},{"name":"v2.11.2","sha":"c81e83dfa364eba9acb33502c74878e5ccb33180","kind":"commit","published_at":"2022-03-26T19:41:50.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.2/manifests"},{"name":"v2.11.1","sha":"699350eff13a2bad05714c15247dc62aa172983a","kind":"commit","published_at":"2022-03-22T22:35:09.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.1/manifests"},{"name":"v2.11.0","sha":"8013d1d86a37af91e6ae09bf6930202d33aeefd1","kind":"commit","published_at":"2022-03-12T12:11:45.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.11.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.11.0/manifests"},{"name":"v2.10.0","sha":"07c0f60ffc1017d0a9a2bb605a5c645781a8c088","kind":"commit","published_at":"2022-02-27T21:49:39.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.10.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.10.0/manifests"},{"name":"v2.9.3","sha":"d3449531aa5bcefb47cbb55ac695be5ed3dd635b","kind":"commit","published_at":"2022-01-09T10:24:10.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.9.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.3/manifests"},{"name":"v2.9.2","sha":"101aed9d304cae4c3d0d9140f151b852b21c7ddf","kind":"commit","published_at":"2022-01-03T23:14:27.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.9.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.2/manifests"},{"name":"v2.9.1","sha":"e36b4388aebb892c10ed779bafc9c1a07a325b8d","kind":"commit","published_at":"2021-12-31T12:25:52.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.9.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.1/manifests"},{"name":"list","sha":"5297604b3f23a6c0a857f4587b4b687c2a45a8ca","kind":"commit","published_at":"2021-12-05T13:22:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/list","html_url":"https://github.com/pylint-dev/astroid/releases/tag/list","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/list","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/list/manifests"},{"name":"v2.9.0","sha":"d0775d5fd293c97e17f7583c0640ebf2fa4478d2","kind":"commit","published_at":"2021-11-21T17:14:26.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.9.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.9.0/manifests"},{"name":"v2.8.6","sha":"c47561e5013232851ac48394be33cfcff967962f","kind":"commit","published_at":"2021-11-21T15:08:11.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.6/manifests"},{"name":"v2.8.5","sha":"8e6a446ed87ada6a45c37e04f5eeb2b939d19df4","kind":"commit","published_at":"2021-11-12T15:09:39.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.5/manifests"},{"name":"v2.8.4","sha":"4c3b3b316e280a04d0a5ca7c481430be3b8d7a00","kind":"commit","published_at":"2021-10-25T20:02:34.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.4/manifests"},{"name":"v2.8.3","sha":"3ec26178a0ab5f15d12ae2540b1eb23e78cc574e","kind":"commit","published_at":"2021-10-17T08:15:22.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.3/manifests"},{"name":"v2.8.2","sha":"fa12a471b5d4c2211ae07811f1dd763d6b3a2546","kind":"commit","published_at":"2021-10-07T05:35:08.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.2/manifests"},{"name":"v2.8.1","sha":"8afd6b40dc9235eb4057a18a5270e836daf192db","kind":"commit","published_at":"2021-10-06T20:18:54.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.1/manifests"},{"name":"v2.8.1-rc1","sha":"e1bf25e8d79cb1fe9ab5ad038a6d8291fca6f9e1","kind":"commit","published_at":"2021-10-06T20:18:07.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.1-rc1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.1-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.1-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.1-rc1/manifests"},{"name":"v2.8.0","sha":"9a7878a78a284571d3788afc42203089185cfcbf","kind":"commit","published_at":"2021-09-14T07:20:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.8.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.8.0/manifests"},{"name":"v2.7.3","sha":"f94eb5fe3af337660447fbe49420412846db7e46","kind":"commit","published_at":"2021-08-30T16:35:48.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.7.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.3/manifests"},{"name":"v2.7.2","sha":"5b05832bf2968d125b19bcb8c897b844b630f24c","kind":"commit","published_at":"2021-08-20T19:07:49.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.7.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.2/manifests"},{"name":"v2.7.1","sha":"67ff34c3263889c946a29c42ae3b6733d659aa18","kind":"commit","published_at":"2021-08-16T17:25:01.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.7.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.1/manifests"},{"name":"v2.7.0","sha":"f26d4876bfe216aa45515b49656dae5afa110651","kind":"commit","published_at":"2021-08-15T19:26:16.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.7.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.7.0/manifests"},{"name":"v2.6.6","sha":"74adc8604506a451dc8a16cc00ac50464953cb3b","kind":"commit","published_at":"2021-08-03T20:40:16.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.6/manifests"},{"name":"v2.6.5","sha":"3f5af5cde53c51997700c2532ccac2b30e60842e","kind":"tag","published_at":"2021-07-21T06:48:35.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.5/manifests"},{"name":"v2.6.4","sha":"17165d57e1ad688f6eca279f3559fbd280e5d4ef","kind":"tag","published_at":"2021-07-19T21:38:14.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.4/manifests"},{"name":"v2.6.3","sha":"2738e93afed92ad7b495dbc3036c675a8701c2c6","kind":"tag","published_at":"2021-07-19T19:24:00.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.3/manifests"},{"name":"v2.6.2","sha":"e8e4b44d30e71b4c6cb49dd30bfd2f26888e227a","kind":"commit","published_at":"2021-06-30T10:26:56.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.2/manifests"},{"name":"v2.6.1","sha":"c3977dfed03cf91a1a7abc0a1ece29590f4caed0","kind":"commit","published_at":"2021-06-29T16:17:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.1/manifests"},{"name":"v2.6.0","sha":"82bf77d54393a52ecd07d50a791f5e1a63369f11","kind":"commit","published_at":"2021-06-22T05:52:05.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.0/manifests"},{"name":"v2.6.0-dev0","sha":"afb8e94f64da8ebf63d6969d4a3ea8a689c97e6e","kind":"commit","published_at":"2021-06-15T18:52:26.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.6.0-dev0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.6.0-dev0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.0-dev0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.6.0-dev0/manifests"},{"name":"v2.5.8","sha":"1342591e2beb955a377e4486e5595478f79789e8","kind":"commit","published_at":"2021-06-07T18:26:18.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.5.8","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.5.8/manifests"},{"name":"v2.5.7","sha":"79fdc323f058f5f2ba754c29b564818d898548ae","kind":"commit","published_at":"2021-05-29T20:31:29.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.5.7","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.5.7/manifests"},{"name":"astroid-2.5.6","sha":"36dda3fc8a5826b19a33a0ff29402b61d6a64fc2","kind":"commit","published_at":"2021-04-25T09:42:38.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.5.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.6/manifests"},{"name":"v2.5.6","sha":"36dda3fc8a5826b19a33a0ff29402b61d6a64fc2","kind":"commit","published_at":"2021-04-25T09:42:38.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/v2.5.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/v2.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/v2.5.6/manifests"},{"name":"astroid-2.5.5","sha":"7db1790dd054d6be4717f63afdaef9fc3c56d630","kind":"commit","published_at":"2021-04-24T18:42:30.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.5.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.5/manifests"},{"name":"astroid-2.5.4","sha":"cd41374c679f0fc6a8778e993eda79caf0f2a6f6","kind":"commit","published_at":"2021-04-24T13:10:59.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.5.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.4/manifests"},{"name":"astroid-2.5.3","sha":"55953b3e433906855d92c42f630be9e4214553d0","kind":"commit","published_at":"2021-04-10T14:13:58.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.5.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.3/manifests"},{"name":"astroid-2.5.2","sha":"c3b58a3ed2653c6abfa0605e4a34f44c06b234b8","kind":"commit","published_at":"2021-03-28T15:22:12.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.5.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.2/manifests"},{"name":"astroid-2.5.1","sha":"79d72376d0553b7fcbcd4dad7e6f92f528ae10a1","kind":"commit","published_at":"2021-02-28T20:19:03.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.5.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5.1/manifests"},{"name":"astroid-2.5","sha":"0f97f79c0aa50ed0506c09db729f906450b37652","kind":"commit","published_at":"2021-02-15T19:18:18.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.5/manifests"},{"name":"astroid-2.4.2","sha":"2d25e84587c3e392751280490355aaeda7afd116","kind":"commit","published_at":"2020-06-08T06:47:45.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.4.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.4.2/manifests"},{"name":"astroid-2.4.1","sha":"a672051f4406da0beb01e88767e8e46488eb71eb","kind":"commit","published_at":"2020-05-05T07:36:38.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.4.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.4.1/manifests"},{"name":"astroid-2.4.0","sha":"6c8bfb4b7fb5366a3facfc08020c68ac426b9a8d","kind":"commit","published_at":"2020-04-27T08:49:40.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.4.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.4.0/manifests"},{"name":"astroid-2.3.3","sha":"ace7b2967ea762ec43fc7be8ab9c8007564d9be2","kind":"commit","published_at":"2019-11-06T18:35:12.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.3.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.3/manifests"},{"name":"astroid-2.3.2","sha":"8b0fcc211e3e31e1b10ede520d83488b2e1ba986","kind":"commit","published_at":"2019-10-18T09:07:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.3.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.2/manifests"},{"name":"astroid-2.3.1","sha":"bff51e9d41a3084b9313fa2108ae13f079bc0b58","kind":"commit","published_at":"2019-09-30T08:03:07.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.3.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.1/manifests"},{"name":"astroid-2.3.0","sha":"ff97852076de8c70b6af749fd129938c55e9786b","kind":"commit","published_at":"2019-09-24T09:19:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.3.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.3.0/manifests"},{"name":"astroid-1.6.6","sha":"af8fe7a4657be65e8087e9e4a68e6390d8ea38f3","kind":"commit","published_at":"2019-04-09T13:21:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.6.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.6/manifests"},{"name":"astroid-2.2.5","sha":"01a25f31962dd5017a141a6450859a7c1c82722d","kind":"commit","published_at":"2019-03-08T16:14:08.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.2.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.5/manifests"},{"name":"astroid-2.2.4","sha":"7a88072f9f624e59e52f4e05736ce592ca1467fc","kind":"commit","published_at":"2019-03-05T09:33:20.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.2.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.4/manifests"},{"name":"astroid-2.2.3","sha":"5443588043468f5ae135fa06ac4e31ac40b92314","kind":"commit","published_at":"2019-03-04T09:01:10.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.2.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.3/manifests"},{"name":"astroid-2.2.1","sha":"2caa1b3c4e838a21f144a0de05bfa82d9cdacf30","kind":"commit","published_at":"2019-03-02T11:54:26.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.2.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.1/manifests"},{"name":"astroid-2.2.0","sha":"9eddca32cde1fb5699dddc7eea76a7cce4d31719","kind":"commit","published_at":"2019-02-27T09:22:17.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.2.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.2.0/manifests"},{"name":"astroid-2.1.0","sha":"61f6155570c611b68f2e28ac649a082933cabc36","kind":"commit","published_at":"2018-11-25T17:17:24.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.1.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.1.0/manifests"},{"name":"astroid-2.0.4","sha":"5b5cd7acbecaa9b587b07de27a3334a2ec4f2a79","kind":"commit","published_at":"2018-08-10T07:07:25.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.0.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.4/manifests"},{"name":"astroid-2.0.3","sha":"900a4b8fa8b101bcab3e932b6c47f56c89ab8c9a","kind":"commit","published_at":"2018-08-08T19:26:49.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.0.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.3/manifests"},{"name":"astroid-2.0.2","sha":"5cc50abb4dbab82203b99a578161be75ca0a8fcf","kind":"commit","published_at":"2018-08-01T06:30:01.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.0.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.2/manifests"},{"name":"astroid-2.0.1","sha":"095441034a70837fa3f9e12179d1c519addf336d","kind":"commit","published_at":"2018-07-19T10:27:20.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.0.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.1/manifests"},{"name":"astroid-2.0","sha":"654492a0259215b0e4cdb76546777186b0f3a710","kind":"commit","published_at":"2018-07-15T07:21:52.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0/manifests"},{"name":"astroid-1.6.5","sha":"690a119ff3be882344d57bd30ab6d449fb8f9e21","kind":"commit","published_at":"2018-06-06T15:01:25.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.6.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.5/manifests"},{"name":"astroid-2.0.dev1","sha":"81db9c0edc81c45eca9e3e7b29939215fa2588fb","kind":"commit","published_at":"2018-05-28T15:04:21.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.0.dev1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.dev1/manifests"},{"name":"astroid-2.0.0-dev","sha":"85dce2f8830d70442b55dcb5ca3198fbafec9b50","kind":"commit","published_at":"2018-05-21T09:32:01.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-2.0.0-dev","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-2.0.0-dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.0-dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-2.0.0-dev/manifests"},{"name":"astroid-1.6.4","sha":"1bb0aa98dd91152dee8421e9bccc91e1958bc574","kind":"commit","published_at":"2018-05-15T18:45:55.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.6.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.4/manifests"},{"name":"astroid-1.6.3","sha":"819bd049aa166f19be6af7c53dfc0e783d545e16","kind":"commit","published_at":"2018-04-05T06:52:37.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.6.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.3/manifests"},{"name":"astroid-1.6.2","sha":"de9d70f7c3883942e1f1695016a8afe506483071","kind":"commit","published_at":"2018-03-16T17:06:39.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.6.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.2/manifests"},{"name":"astroid-1.6.1","sha":"5e86fd43203fef42e565310938a76d3b04cb9549","kind":"commit","published_at":"2018-01-23T09:31:29.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.6.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.1/manifests"},{"name":"astroid-1.6.0","sha":"ca96ad7fa177c50159da3244c3922f9d334d3ba2","kind":"commit","published_at":"2017-12-15T09:37:10.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.6.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.6.0/manifests"},{"name":"astroid-1.5.3","sha":"c0fc3b67318709d4bda5cbabfa22552d5603acb0","kind":"commit","published_at":"2017-06-03T13:48:12.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.5.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.3/manifests"},{"name":"astroid-1.5.2","sha":"1602965b4ef3ce54807de425bfc5bb2073d0c4d8","kind":"commit","published_at":"2017-04-17T11:30:53.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.5.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.2/manifests"},{"name":"astroid-1.5.1","sha":"7502df8e288009a52324537c7c3adc517f2d8fed","kind":"commit","published_at":"2017-04-13T14:38:25.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.5.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.1/manifests"},{"name":"astroid-1.5.0","sha":"cdd1a61999fbb1d91804494eea48cdd9ae5a7f88","kind":"commit","published_at":"2017-04-13T13:54:08.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.5.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.5.0/manifests"},{"name":"astroid-1.4.9","sha":"890d8baf1fa8d3456cb9bf0db4a76229f7a29773","kind":"commit","published_at":"2016-12-18T10:05:45.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.9","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.9/manifests"},{"name":"astroid-1.4.8","sha":"44f0753684247a246d36cf27bc5f4a0d176d176b","kind":"commit","published_at":"2016-07-26T23:10:48.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.8","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.8/manifests"},{"name":"astroid-1.4.7","sha":"106661a53742d611e1833116171e3d58a2141731","kind":"commit","published_at":"2016-07-07T16:13:31.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.7","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.7/manifests"},{"name":"astroid-1.4.6","sha":"bb3ff4e34620ed442fbddb3c6f479bfe65c47946","kind":"commit","published_at":"2016-06-06T14:27:05.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.6/manifests"},{"name":"astroid-1.4.5","sha":"fcf5925ce15afbac4630aad07f19bd41d1f6854f","kind":"commit","published_at":"2016-03-21T18:23:46.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.5/manifests"},{"name":"astroid-1.4.4","sha":"942577fc5b5c44bc53937a9131a4e9ec476590d4","kind":"commit","published_at":"2016-01-15T17:04:40.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.4/manifests"},{"name":"astroid-1.4.3","sha":"9f297c8712d2dbbc9b6b4fb104896b8cd2c18ff5","kind":"commit","published_at":"2015-12-24T15:03:56.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.3/manifests"},{"name":"astroid-1.4.2","sha":"55e38faa8240ad2324376a32d0c1be27ec44e8dd","kind":"commit","published_at":"2015-12-21T00:06:08.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.2/manifests"},{"name":"astroid-1.4.1","sha":"ef20af65a00488feea31f269a78c7ea3040efdbb","kind":"commit","published_at":"2015-11-29T20:45:14.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4.1/manifests"},{"name":"astroid-1.4","sha":"920176392adabfbb1c62310c1c1d182f72df1df4","kind":"commit","published_at":"2015-11-29T17:27:28.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.4/manifests"},{"name":"astroid-1.3.8","sha":"6b71db693eb148b1c776192cf1f74be474b804cb","kind":"commit","published_at":"2015-08-02T20:37:43.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.8","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.8/manifests"},{"name":"astroid-1.3.7","sha":"e6fb2e338668113172a677a711768f56cbeb24e0","kind":"commit","published_at":"2015-07-27T15:24:57.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.7","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.7/manifests"},{"name":"astroid-1.3.6","sha":"12a6f507f0490ac5b69a2adbdf8ba1119d523ae3","kind":"commit","published_at":"2015-03-14T16:29:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.6","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.6/manifests"},{"name":"astroid-1.3.5","sha":"836a18fc891a48c952d4270566ff32cdb690b3fb","kind":"commit","published_at":"2015-03-11T12:07:56.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.5","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.5/manifests"},{"name":"astroid-1.3.4","sha":"cce4c0da2ee3697355bd19394d78e2f18962bacb","kind":"commit","published_at":"2015-01-16T23:02:07.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.4/manifests"},{"name":"astroid-1.3.3","sha":"ec67d3adfc1c8dce5dea8b39f8bf17331e9bbc4d","kind":"commit","published_at":"2015-01-16T19:22:22.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.3/manifests"},{"name":"astroid-1.3.2","sha":"1e07b0ae7778f6cff88758d30b94e4bdcb419c19","kind":"commit","published_at":"2014-11-22T14:50:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.2/manifests"},{"name":"astroid-1.3.1","sha":"b2e013073d219efb1735ef128492e2ce33327153","kind":"commit","published_at":"2014-11-21T21:50:00.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3.1/manifests"},{"name":"astroid-1.3","sha":"d3bc7c82ad96d7289e663bb3fbd9050ac47a5483","kind":"commit","published_at":"2014-11-18T19:34:27.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.3/manifests"},{"name":"astroid-1.2.1","sha":"dad12edb3afc2275f18fc9aeea1e9b483bc85c99","kind":"commit","published_at":"2014-08-24T18:45:05.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.2.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.2.1/manifests"},{"name":"astroid-1.2","sha":"b8deedb7769a0120cc626f7b534fb0c88e973bd9","kind":"commit","published_at":"2014-07-25T14:17:23.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.2/manifests"},{"name":"astroid-1.1","sha":"8e3b5d62213094977ab95f0ef2d11dae0ba0d98e","kind":"commit","published_at":"2014-04-18T13:39:29.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-1.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-1.1/manifests"},{"name":"astroid-debian-version-1.0.1-1","sha":"b63443d7641cab0fab79986868c5dafedf5f37d2","kind":"commit","published_at":"2013-10-18T15:35:54.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-debian-version-1.0.1-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-debian-version-1.0.1-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-debian-version-1.0.1-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-debian-version-1.0.1-1/manifests"},{"name":"astroid-version-1.0.1","sha":"34d0121454001ef9a390e292ca819f8cf8cde0ef","kind":"commit","published_at":"2013-10-18T15:33:49.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-version-1.0.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-version-1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-version-1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-version-1.0.1/manifests"},{"name":"astroid-debian-version-1.0.0-1","sha":"516983118834ab320b2e2d7b16c64816be29322b","kind":"commit","published_at":"2013-07-30T12:46:32.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-debian-version-1.0.0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-debian-version-1.0.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-debian-version-1.0.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-debian-version-1.0.0-1/manifests"},{"name":"astroid-version-1.0.0","sha":"25a6e43f067c2eb842c6acb2eb1909ba7b1775ac","kind":"commit","published_at":"2013-07-29T15:37:29.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astroid-version-1.0.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astroid-version-1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-version-1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astroid-version-1.0.0/manifests"},{"name":"logilab-astng-debian-version-0.24.3-1","sha":"4b2350991aecb361fff1701016dcf1711a16d077","kind":"commit","published_at":"2013-04-17T09:38:47.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.24.3-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.24.3-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.3-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.3-1/manifests"},{"name":"logilab-astng-version-0.24.3","sha":"4ca36d5da5f95477cebbc73e990617609244069e","kind":"commit","published_at":"2013-04-16T11:07:16.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.24.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.24.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.3/manifests"},{"name":"logilab-astng-debian-version-0.24.2-1","sha":"fad98b55992aca8a25ff1cb0532699c832347424","kind":"commit","published_at":"2013-02-27T11:17:47.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.24.2-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.24.2-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.2-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.2-1/manifests"},{"name":"logilab-astng-version-0.24.2","sha":"d53ae217925391a225d5677a4fb9d81781980487","kind":"commit","published_at":"2013-02-27T10:00:52.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.24.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.24.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.2/manifests"},{"name":"logilab-astng-debian-version-0.24.1-1","sha":"696fe640b6ad273ccc6affe2f0b878717fdb1e48","kind":"commit","published_at":"2012-10-05T13:56:34.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.24.1-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.24.1-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.1-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.1-1/manifests"},{"name":"logilab-astng-version-0.24.1","sha":"58bb9c4ddbd26c179f08444cb4286d627e50b47c","kind":"commit","published_at":"2012-10-05T10:52:17.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.24.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.1/manifests"},{"name":"logilab-astng-debian-version-0.24.0-1","sha":"3d97e3ac1b9261610dc2cf2eca8d32a940518bb6","kind":"commit","published_at":"2012-07-18T09:30:00.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.24.0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.24.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.24.0-1/manifests"},{"name":"logilab-astng-version-0.24.0","sha":"412614cf37145d56a0c9caf2d131d40cbea5e7fe","kind":"commit","published_at":"2012-07-18T08:48:22.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.24.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.24.0/manifests"},{"name":"logilab-astng-debian-version-0.23.1-1","sha":"8728e54a645e0c3914e253451be3a0fa816bd099","kind":"commit","published_at":"2011-12-08T15:56:05.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.23.1-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.23.1-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.23.1-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.23.1-1/manifests"},{"name":"logilab-astng-version-0.23.1","sha":"d4ed73e075549597315c52336d9a0736460aff31","kind":"commit","published_at":"2011-12-08T14:26:27.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.23.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.23.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.23.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.23.1/manifests"},{"name":"logilab-astng-debian-version-0.23.0-1","sha":"a2272a3f7e6d21dbbfb640f26eaf0da46b952764","kind":"commit","published_at":"2011-10-07T14:48:47.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.23.0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.23.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.23.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.23.0-1/manifests"},{"name":"logilab-astng-version-0.23.0","sha":"1b181e534723555e5f0e1e158800643d4cb4d510","kind":"commit","published_at":"2011-10-07T10:25:34.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.23.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.23.0/manifests"},{"name":"logilab-astng-debian-version-0.22.0-1","sha":"a94c56dfcba2ed26a8b89d48d311e2e4ac6dbc9f","kind":"commit","published_at":"2011-07-20T16:14:01.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.22.0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.22.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.22.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.22.0-1/manifests"},{"name":"logilab-astng-version-0.22.0","sha":"bd176e6e891aaed722f85fa0180e555c98c9823b","kind":"commit","published_at":"2011-07-18T14:01:03.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.22.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.22.0/manifests"},{"name":"logilab-astng-debian-version-0.21.1-1","sha":"c4803255fd3ad08dd98e6b6b884b5b1b72c06742","kind":"commit","published_at":"2011-01-13T20:36:21.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.21.1-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.21.1-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.21.1-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.21.1-1/manifests"},{"name":"logilab-astng-version-0.21.1","sha":"2db080a1ea411d124468bac5ddd7f5801f2992c4","kind":"commit","published_at":"2011-01-11T15:41:30.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.21.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.21.1/manifests"},{"name":"logilab-astng-debian-version-0.21.0-1","sha":"9911a08d6f7d1d55cad8eb911ae831b3fba14bfb","kind":"commit","published_at":"2010-11-15T17:30:59.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.21.0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.21.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.21.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.21.0-1/manifests"},{"name":"logilab-astng-version-0.21.0","sha":"29922c39dbdcf3ac1ddfaf204e6730758e5d87e1","kind":"commit","published_at":"2010-11-15T13:13:13.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.21.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.21.0/manifests"},{"name":"logilab-astng-debian-version-0.20.4-1","sha":"b5df0e61a3aa9af80bb512cb3a9707735d39fed8","kind":"commit","published_at":"2010-10-27T13:18:55.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.20.4-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.20.4-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.4-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.4-1/manifests"},{"name":"logilab-astng-version-0.20.4","sha":"3a0be8bf3d32cdd8840195dacaa2d6bf0ad30602","kind":"commit","published_at":"2010-10-27T11:33:18.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.20.4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.20.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.4/manifests"},{"name":"logilab-astng-debian-version-0.20.3-1","sha":"70ebf75c07f2c93360263897fb463cf5d2380848","kind":"commit","published_at":"2010-09-28T16:21:09.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.20.3-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.20.3-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.3-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.3-1/manifests"},{"name":"logilab-astng-version-0.20.3","sha":"331b873c7ff69011297de77ff72d1fbb90758f22","kind":"commit","published_at":"2010-09-28T12:33:56.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.20.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.20.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.3/manifests"},{"name":"logilab-astng-debian-version-0.20.2-1","sha":"549cef3c16031bd722dd1d4ea032f1521d19b686","kind":"commit","published_at":"2010-09-13T12:42:42.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.20.2-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.20.2-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.2-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.2-1/manifests"},{"name":"logilab-astng-version-0.20.2","sha":"34932302029c79769f5eae06020c21af596a9c9a","kind":"commit","published_at":"2010-09-10T10:10:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.20.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.20.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.2/manifests"},{"name":"logilab-astng-debian-version-0.20.1-1","sha":"2118b5f1b4fa5612903c3c8b4cb30c1c6b759aa8","kind":"commit","published_at":"2010-05-11T13:07:06.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.20.1-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.20.1-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.1-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.1-1/manifests"},{"name":"logilab-astng-version-0.20.1","sha":"6d641b0481904ec25b13d63c98042dd3f5168dce","kind":"commit","published_at":"2010-05-11T09:22:04.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.20.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.1/manifests"},{"name":"logilab-astng-debian-version-0.20.0-1","sha":"6e2a3867f23927968af5f873ebb8c92e2b56dfc8","kind":"commit","published_at":"2010-03-24T16:11:44.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.20.0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.20.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.20.0-1/manifests"},{"name":"logilab-astng-version-0.20.0","sha":"db740f29f7a2a9a737f080d423c3a641c4dc5257","kind":"commit","published_at":"2010-03-23T10:34:49.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.20.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.20.0/manifests"},{"name":"logilab-astng-debian-version-0.19.3-1","sha":"7bdca3882c495ee02a00cac6397fc3d827303464","kind":"commit","published_at":"2009-12-21T20:38:55.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.19.3-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.19.3-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.19.3-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.19.3-1/manifests"},{"name":"logilab-astng-version-0.19.3","sha":"143223c00ca3cf56f96ed7f0a7bcfcadedf7c181","kind":"commit","published_at":"2009-12-18T14:25:08.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.19.3","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.19.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.19.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.19.3/manifests"},{"name":"logilab-astng-debian-version-0.19.2-1","sha":"a799e7ab7f1eeaca7de3fd166d47598f78cf0250","kind":"commit","published_at":"2009-12-18T13:42:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.19.2-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.19.2-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.19.2-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.19.2-1/manifests"},{"name":"logilab-astng-version-0.19.2","sha":"779f24c72a13541f7591c094bdfa02fa1534b1da","kind":"commit","published_at":"2009-12-18T13:41:55.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.19.2","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.19.2/manifests"},{"name":"logilab-astng-debian-version-0.19.1-1","sha":"bee28356ae911a585ef3f28d6a5df695490581ed","kind":"commit","published_at":"2009-08-27T08:14:43.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0.19.1-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0.19.1-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.19.1-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0.19.1-1/manifests"},{"name":"logilab-astng-version-0.19.1","sha":"28d96f1ac47b8b48e2bd9d42f8cd4cbb71cdac05","kind":"commit","published_at":"2009-08-27T08:14:37.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0.19.1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0.19.1/manifests"},{"name":"logilab-astng-debian-version-0_18_0-1","sha":"06680b46a170ff3afd678122845f29e072fa867c","kind":"commit","published_at":"2009-03-19T14:01:48.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0_18_0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0_18_0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_18_0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_18_0-1/manifests"},{"name":"astng_0.18.0","sha":"82838274c88a35c799d32fc7fb8a87b6ba97b452","kind":"commit","published_at":"2009-03-19T13:59:06.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/astng_0.18.0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/astng_0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astng_0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/astng_0.18.0/manifests"},{"name":"logilab-astng-debian-version-0_17_4-1","sha":"613d9fbe17c7a904f78cee03c486c7a54aa2af4d","kind":"commit","published_at":"2008-11-20T06:52:31.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0_17_4-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0_17_4-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_17_4-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_17_4-1/manifests"},{"name":"logilab-astng-version-0_17_4","sha":"4cba50d84e8585838c394bc367a770cb2fd5e776","kind":"commit","published_at":"2008-11-19T14:17:19.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0_17_4","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0_17_4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0_17_4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0_17_4/manifests"},{"name":"logilab-astng-debian-version-0_17_3-1","sha":"ea956b782ee9296e2ddd77aa0a63a051e5f1ff17","kind":"commit","published_at":"2008-09-10T12:14:02.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0_17_3-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0_17_3-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_17_3-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_17_3-1/manifests"},{"name":"logilab-astng-debian-version-0_17_0-1","sha":"4e24753b338182bed0ec7e7cefa247bf3392da44","kind":"commit","published_at":"2007-03-01T09:58:41.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-debian-version-0_17_0-1","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-debian-version-0_17_0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_17_0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-debian-version-0_17_0-1/manifests"},{"name":"logilab-astng-version-0_17_0","sha":"48137d9b3331ed39e740887dca7ee51679640517","kind":"commit","published_at":"2007-02-22T10:29:50.000Z","download_url":"https://codeload.github.com/pylint-dev/astroid/tar.gz/logilab-astng-version-0_17_0","html_url":"https://github.com/pylint-dev/astroid/releases/tag/logilab-astng-version-0_17_0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0_17_0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pylint-dev%2Fastroid/tags/logilab-astng-version-0_17_0/manifests"}]},"repo_metadata_updated_at":"2024-09-09T18:28:36.931Z","dependent_packages_count":207,"downloads":32872176,"downloads_period":"last-month","dependent_repos_count":86632,"rankings":{"downloads":0.05484155559264646,"dependent_repos_count":0.014123076189410626,"dependent_packages_count":0.11867052330582696,"stargazers_count":3.698044962738923,"forks_count":4.282960416869189,"docker_downloads_count":0.0328315667260325,"average":1.3669120169036715},"purl":"pkg:pypi/astroid","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/astroid","docker_dependents_count":2994,"docker_downloads_count":1673279364,"usage_url":"https://repos.ecosyste.ms/usage/pypi/astroid","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/astroid/dependencies","status":null,"funding_links":["https://tidelift.com/funding/github/pypi/astroid"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/astroid/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/astroid/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/astroid/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/astroid/related_packages","maintainers":[{"uuid":"logilab","login":"logilab","name":null,"email":null,"url":null,"packages_count":215,"html_url":"https://pypi.org/user/logilab/","role":null,"created_at":"2022-11-15T08:51:07.538Z","updated_at":"2022-11-15T08:51:07.538Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/logilab/packages"},{"uuid":"Claudiu.Popa","login":"Claudiu.Popa","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/Claudiu.Popa/","role":null,"created_at":"2022-11-15T08:51:07.530Z","updated_at":"2022-11-15T08:51:07.530Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Claudiu.Popa/packages"},{"uuid":"pierre-sassoulas","login":"pierre-sassoulas","name":null,"email":null,"url":null,"packages_count":20,"html_url":"https://pypi.org/user/pierre-sassoulas/","role":null,"created_at":"2022-11-15T08:51:07.561Z","updated_at":"2022-11-15T08:51:07.561Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/pierre-sassoulas/packages"},{"uuid":"AWhetter","login":"AWhetter","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://pypi.org/user/AWhetter/","role":null,"created_at":"2022-11-15T08:51:07.572Z","updated_at":"2022-11-15T08:51:07.572Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/AWhetter/packages"},{"uuid":"BryceGuinta","login":"BryceGuinta","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/BryceGuinta/","role":null,"created_at":"2022-11-15T08:51:07.586Z","updated_at":"2022-11-15T08:51:07.586Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/BryceGuinta/packages"},{"uuid":"cdce8p","login":"cdce8p","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/cdce8p/","role":null,"created_at":"2022-11-15T08:51:07.596Z","updated_at":"2022-11-15T08:51:07.596Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/cdce8p/packages"},{"uuid":"danielnoord","login":"danielnoord","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/danielnoord/","role":null,"created_at":"2022-11-15T08:51:07.601Z","updated_at":"2022-11-15T08:51:07.601Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/danielnoord/packages"},{"uuid":"hippo91","login":"hippo91","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/hippo91/","role":null,"created_at":"2022-11-15T08:51:07.620Z","updated_at":"2022-11-15T08:51:07.620Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/hippo91/packages"},{"uuid":"Torsten.Marek","login":"Torsten.Marek","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/Torsten.Marek/","role":null,"created_at":"2022-11-15T08:51:07.641Z","updated_at":"2022-11-15T08:51:07.641Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Torsten.Marek/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690419,"maintainers_count":292811,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","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":149,"unique_repositories_count_past_30_days":2,"recent_issues":[{"uuid":"4514318366","node_id":"PR_kwDOERpozs7e6EfY","number":1059,"state":"open","title":"Deps: Bump the python-packages group with 27 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T04:41:50.000Z","updated_at":"2026-05-25T04:43:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Deps: Bump","group_name":"python-packages","update_count":27,"packages":[{"name":"django","old_version":"4.2.30","new_version":"5.2.14","repository_url":"https://github.com/django/django"},{"name":"djangorestframework","old_version":"3.16.1","new_version":"3.17.1","repository_url":"https://github.com/encode/django-rest-framework"},{"name":"weasyprint","old_version":"66.0","new_version":"68.1","repository_url":"https://github.com/Kozea/WeasyPrint"},{"name":"pylint","old_version":"3.3.9","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-django","old_version":"4.11.1","new_version":"4.12.0","repository_url":"https://github.com/pytest-dev/pytest-django"},{"name":"pytest-env","old_version":"1.1.5","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pytest-env"},{"name":"pontos","old_version":"26.2.0","new_version":"26.5.0","repository_url":"https://github.com/greenbone/pontos"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"astroid","old_version":"3.3.11","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.4.22","new_version":"2026.5.20","repository_url":"https://github.com/certifi/python-certifi"},{"name":"coverage","old_version":"7.10.7","new_version":"7.14.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cssselect2","old_version":"0.8.0","new_version":"0.9.0","repository_url":"https://github.com/Kozea/cssselect2"},{"name":"fonttools","old_version":"4.60.2","new_version":"4.63.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"idna","old_version":"3.15","new_version":"3.16","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"isort","old_version":"6.1.0","new_version":"8.0.1","repository_url":"https://github.com/PyCQA/isort"},{"name":"lxml","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/lxml/lxml"},{"name":"markdown-it-py","old_version":"3.0.0","new_version":"4.2.0","repository_url":"https://github.com/executablebooks/markdown-it-py"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.9.6","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pydyf","old_version":"0.11.0","new_version":"0.12.1","repository_url":"https://github.com/CourtBouillon/pydyf"},{"name":"requests","old_version":"2.32.5","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"tinyhtml5","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/CourtBouillon/tinyhtml5"},{"name":"zopfli","old_version":"0.2.3.post1","new_version":"0.4.1","repository_url":"https://github.com/fonttools/py-zopfli"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 27 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `4.2.30` | `5.2.14` |\n| [djangorestframework](https://github.com/encode/django-rest-framework) | `3.16.1` | `3.17.1` |\n| [weasyprint](https://github.com/Kozea/WeasyPrint) | `66.0` | `68.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `3.3.9` | `4.0.5` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.3` |\n| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.11.1` | `4.12.0` |\n| [pytest-env](https://github.com/pytest-dev/pytest-env) | `1.1.5` | `1.6.0` |\n| [pontos](https://github.com/greenbone/pontos) | `26.2.0` | `26.5.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [astroid](https://github.com/pylint-dev/astroid) | `3.3.11` | `4.0.4` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.4.22` | `2026.5.20` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.14.0` |\n| [cssselect2](https://github.com/Kozea/cssselect2) | `0.8.0` | `0.9.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.2` | `4.63.0` |\n| [idna](https://github.com/kjd/idna) | `3.15` | `3.16` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `8.0.1` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.0` | `6.1.1` |\n| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `3.0.0` | `4.2.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.9.6` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pydyf](https://github.com/CourtBouillon/pydyf) | `0.11.0` | `0.12.1` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.34.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [tinyhtml5](https://github.com/CourtBouillon/tinyhtml5) | `2.0.0` | `2.1.0` |\n| [zopfli](https://github.com/fonttools/py-zopfli) | `0.2.3.post1` | `0.4.1` |\n\nUpdates `django` from 4.2.30 to 5.2.14\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/024c26b1e77ea5b1b158265167ade47927a64c06\"\u003e\u003ccode\u003e024c26b\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.14 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/2115d4eaee15107f5cd290d7cfcc5ffe3ad43661\"\u003e\u003ccode\u003e2115d4e\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2026-6907 -- Prevented caching of requests when Vary header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/47cf968c125e3fab317e10fe150ec479e745f995\"\u003e\u003ccode\u003e47cf968\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2026-35192 -- Ensured Vary header is sent when setting sess...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/2ec27eda3ba6c14f0856e6e3eb1df07c41fd95e6\"\u003e\u003ccode\u003e2ec27ed\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2026-5766 -- Enforced DATA_UPLOAD_MAX_MEMORY_SIZE in Memory...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ed18840c8cd1be81fdb3955cbfc9459989d6df68\"\u003e\u003ccode\u003eed18840\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed typo in stub release notes for 5.2.14.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/de3f622b7fa72aee68650f15263f2788b626680a\"\u003e\u003ccode\u003ede3f622\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.14.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/fb61c8a6e902abc885048a1a78592a4bd4329f87\"\u003e\u003ccode\u003efb61c8a\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs CVE-2026-4292 -- Isolated new test in AdminViewListEditable.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/bd1a7583061a96059ea560eb7b59bebce4240778\"\u003e\u003ccode\u003ebd1a758\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed two issues in release helper scripts/verify_release.sh.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/da57aaad76e674fdb01b741974acf229d3ac4132\"\u003e\u003ccode\u003eda57aaa\u003c/code\u003e\u003c/a\u003e [5.2.x] Added CVE-2026-3902, CVE-2026-4277, CVE-2026-4292, CVE-2026-33033, an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/c9a8bdbc4839a442b1a0453bd8ed38def4776139\"\u003e\u003ccode\u003ec9a8bdb\u003c/code\u003e\u003c/a\u003e [5.2.x] Post-release version bump.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.30...5.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `djangorestframework` from 3.16.1 to 3.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/django-rest-framework/releases\"\u003edjangorestframework's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.17.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eHTMLFormRenderer\u003c/code\u003e with empty \u003ccode\u003edatetime\u003c/code\u003e values by \u003ca href=\"https://github.com/p-r-a-v-i-n\"\u003e\u003ccode\u003e@​p-r-a-v-i-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9928\"\u003eencode/django-rest-framework#9928\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/django-rest-framework/compare/3.17.0...3.17.1\"\u003ehttps://github.com/encode/django-rest-framework/compare/3.17.0...3.17.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.17.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 by \u003ca href=\"https://github.com/auvipy\"\u003e\u003ccode\u003e@​auvipy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9781\"\u003eencode/django-rest-framework#9781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop deprecated coreapi support by \u003ca href=\"https://github.com/browniebroke\"\u003e\u003ccode\u003e@​browniebroke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9895\"\u003eencode/django-rest-framework#9895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to specify output format for \u003ccode\u003eDurationField\u003c/code\u003e by \u003ca href=\"https://github.com/sevdog\"\u003e\u003ccode\u003e@​sevdog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/8532\"\u003eencode/django-rest-framework#8532\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing decorators: \u003ccode\u003e@versioning_class()\u003c/code\u003e, \u003ccode\u003e@content_negotiation_class()\u003c/code\u003e, \u003ccode\u003e@metadata_class()\u003c/code\u003e for function-based views by \u003ca href=\"https://github.com/qqii\"\u003e\u003ccode\u003e@​qqii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9719\"\u003eencode/django-rest-framework#9719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9780\"\u003eencode/django-rest-framework#9780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eviolation_error_code\u003c/code\u003e and \u003ccode\u003eviolation_error_message\u003c/code\u003e from \u003ccode\u003eUniqueConstraint\u003c/code\u003e in \u003ccode\u003eUniqueTogetherValidator\u003c/code\u003e by \u003ca href=\"https://github.com/s-aleshin\"\u003e\u003ccode\u003e@​s-aleshin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9766\"\u003eencode/django-rest-framework#9766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eipaddress\u003c/code\u003e objects in \u003ccode\u003eJSONEncoder\u003c/code\u003e by \u003ca href=\"https://github.com/corenting\"\u003e\u003ccode\u003e@​corenting\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9087\"\u003eencode/django-rest-framework#9087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional support to serialize \u003ccode\u003eBigInteger\u003c/code\u003e to string by \u003ca href=\"https://github.com/HoodyH\"\u003e\u003ccode\u003e@​HoodyH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9775\"\u003eencode/django-rest-framework#9775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django 6.0 support by \u003ca href=\"https://github.com/MehrazRumman\"\u003e\u003ccode\u003e@​MehrazRumman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9819\"\u003eencode/django-rest-framework#9819\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent small risk of \u003ccode\u003eToken\u003c/code\u003e overwrite by \u003ca href=\"https://github.com/mahdirahimi1999\"\u003e\u003ccode\u003e@​mahdirahimi1999\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9754\"\u003eencode/django-rest-framework#9754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUniqueTogetherValidator\u003c/code\u003e validation when condition references a read-only field by \u003ca href=\"https://github.com/ticosax\"\u003e\u003ccode\u003e@​ticosax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9764\"\u003eencode/django-rest-framework#9764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix validation on many to many field when \u003ccode\u003edefault=None\u003c/code\u003e by \u003ca href=\"https://github.com/Genarito\"\u003e\u003ccode\u003e@​Genarito\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9790\"\u003eencode/django-rest-framework#9790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix invalid SPDX license expression in \u003ccode\u003e__init__.py\u003c/code\u003e by \u003ca href=\"https://github.com/TheFunctionalGuy\"\u003e\u003ccode\u003e@​TheFunctionalGuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9799\"\u003eencode/django-rest-framework#9799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eHTMLFormRenderer\u003c/code\u003e to ensure a valid \u003ccode\u003edatetime-local\u003c/code\u003e format by \u003ca href=\"https://github.com/mgaligniana\"\u003e\u003ccode\u003e@​mgaligniana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9365\"\u003eencode/django-rest-framework#9365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mutable default arguments in OrderingFilter methods by \u003ca href=\"https://github.com/killerdevildog\"\u003e\u003ccode\u003e@​killerdevildog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9742\"\u003eencode/django-rest-framework#9742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate TokenAdmin to respect USERNAME_FIELD of the user model by \u003ca href=\"https://github.com/m000\"\u003e\u003ccode\u003e@​m000\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9836\"\u003eencode/django-rest-framework#9836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve ordering in \u003ccode\u003eMultipleChoiceField\u003c/code\u003e by \u003ca href=\"https://github.com/fbozhang\"\u003e\u003ccode\u003e@​fbozhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9735\"\u003eencode/django-rest-framework#9735\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate French translation by \u003ca href=\"https://github.com/SebCorbin\"\u003e\u003ccode\u003e@​SebCorbin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9770\"\u003eencode/django-rest-framework#9770\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Brazilian Portuguese translations by \u003ca href=\"https://github.com/JVPinheiroReis\"\u003e\u003ccode\u003e@​JVPinheiroReis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9828\"\u003eencode/django-rest-framework#9828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix and improve French translations by \u003ca href=\"https://github.com/deronnax\"\u003e\u003ccode\u003e@​deronnax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9896\"\u003eencode/django-rest-framework#9896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing Russian translation by \u003ca href=\"https://github.com/minorytanaka\"\u003e\u003ccode\u003e@​minorytanaka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9903\"\u003eencode/django-rest-framework#9903\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate packaging to \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/deronnax\"\u003e\u003ccode\u003e@​deronnax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9056\"\u003eencode/django-rest-framework#9056\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove package data rules from \u003ccode\u003eMANIFEST.in\u003c/code\u003e to \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/p-r-a-v-i-n\"\u003e\u003ccode\u003e@​p-r-a-v-i-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9825\"\u003eencode/django-rest-framework#9825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet up release workflow with trusted publisher by \u003ca href=\"https://github.com/browniebroke\"\u003e\u003ccode\u003e@​browniebroke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9852\"\u003eencode/django-rest-framework#9852\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor token generation to use the \u003ccode\u003esecrets\u003c/code\u003e module by \u003ca href=\"https://github.com/mahdirahimi1999\"\u003e\u003ccode\u003e@​mahdirahimi1999\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9760\"\u003eencode/django-rest-framework#9760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd validation for decorator out-of-order with \u003ccode\u003e@api_view\u003c/code\u003e by \u003ca href=\"https://github.com/kernelshard\"\u003e\u003ccode\u003e@​kernelshard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9821\"\u003eencode/django-rest-framework#9821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to mkdocs material theme for documentation by \u003ca href=\"https://github.com/browniebroke\"\u003e\u003ccode\u003e@​browniebroke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9849\"\u003eencode/django-rest-framework#9849\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/khaledsukkar2\"\u003e\u003ccode\u003e@​khaledsukkar2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9717\"\u003eencode/django-rest-framework#9717\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/encode/django-rest-framework/commit/22e231cf2f77b4cfe929de875d958b93916b1a8b\"\u003e\u003ccode\u003e22e231c\u003c/code\u003e\u003c/a\u003e Prepare bug fix release 3.17.1 (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/8e99b53db7b122417580ec2993ac6776b4d858d5\"\u003e\u003ccode\u003e8e99b53\u003c/code\u003e\u003c/a\u003e Add condition to skip pushed tags from forks (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9924\"\u003e#9924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/c0407dee6ef8a5603c2d5d34373d724be7b98188\"\u003e\u003ccode\u003ec0407de\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eHTMLFormRenderer\u003c/code\u003e with empty \u003ccode\u003edatetime\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9928\"\u003e#9928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/30d58a75eeef7097f97cdc9f171d2ec741b36d30\"\u003e\u003ccode\u003e30d58a7\u003c/code\u003e\u003c/a\u003e Fix the book sizing in the documentation (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9926\"\u003e#9926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/6f03b79c057c470524b12e9ac46bc2bb384570e0\"\u003e\u003ccode\u003e6f03b79\u003c/code\u003e\u003c/a\u003e Tweak order of changes in release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/021ab5664b085594876032cf062c1220bc1ca03c\"\u003e\u003ccode\u003e021ab56\u003c/code\u003e\u003c/a\u003e Bump version and update release notes for 3.17.0 (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9921\"\u003e#9921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/19ebad70ae560e3f83c0e30af6be7c7df3b5aeec\"\u003e\u003ccode\u003e19ebad7\u003c/code\u003e\u003c/a\u003e Bump mkdocs-material[imaging] from 9.7.4 to 9.7.5 (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9923\"\u003e#9923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/f222c55d8a498c9770f2795c6cd34fedffaf043c\"\u003e\u003ccode\u003ef222c55\u003c/code\u003e\u003c/a\u003e Correct requires-python key in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/7e7de6fceee3ad2e20b0dd93b119b6b00eadd797\"\u003e\u003ccode\u003e7e7de6f\u003c/code\u003e\u003c/a\u003e Remove code fences from release checklist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/c599d309490fe59ae385954ad544a64b58abffd2\"\u003e\u003ccode\u003ec599d30\u003c/code\u003e\u003c/a\u003e Update release process\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/encode/django-rest-framework/compare/3.16.1...3.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `weasyprint` from 66.0 to 68.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kozea/WeasyPrint/releases\"\u003eweasyprint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev68.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2662\"\u003e#2662\u003c/a\u003e: Don’t crash when SVG clip paths are not in defs tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2665\"\u003e#2665\u003c/a\u003e: Fix position of box bounding box\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2663\"\u003e#2663\u003c/a\u003e: Fix transparency with Acrobat and Edge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2666\"\u003e#2666\u003c/a\u003e: Don’t rely on random default font to define test page size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2670\"\u003e#2670\u003c/a\u003e: Fix pattern detection of URL schemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/pull/2671\"\u003e#2671\u003c/a\u003e: Improve API compatibility between URLFetcherResponse and addinfourl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2672\"\u003e#2672\u003c/a\u003e: Fix charset for old URL fetcher requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/pull/2675\"\u003e#2675\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2673\"\u003e#2673\u003c/a\u003e: Fix calc for many properties\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGuillaume Ayoub\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBackers and sponsors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpacinov\u003c/li\u003e\n\u003cli\u003eSyslifters\u003c/li\u003e\n\u003cli\u003eKobalt\u003c/li\u003e\n\u003cli\u003eSimon Sapin\u003c/li\u003e\n\u003cli\u003eGrip Angebotssoftware\u003c/li\u003e\n\u003cli\u003eManuel Barkhau\u003c/li\u003e\n\u003cli\u003eSimonsoft\u003c/li\u003e\n\u003cli\u003eKontextWork\u003c/li\u003e\n\u003cli\u003eMenutech\u003c/li\u003e\n\u003cli\u003eTrainingSparkle\u003c/li\u003e\n\u003cli\u003eHealthchecks.io\u003c/li\u003e\n\u003cli\u003eMethod B\u003c/li\u003e\n\u003cli\u003eFieldHub\u003c/li\u003e\n\u003cli\u003eHammerbacher\u003c/li\u003e\n\u003cli\u003eYanal-Yves Fargialla\u003c/li\u003e\n\u003cli\u003eMorntag\u003c/li\u003e\n\u003cli\u003ePiloterr\u003c/li\u003e\n\u003cli\u003eXavid\u003c/li\u003e\n\u003cli\u003eCharlie S.\u003c/li\u003e\n\u003cli\u003eProthesis Dental Solutions\u003c/li\u003e\n\u003cli\u003eKai DeLorenzo\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev68.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis is a security update (CVE-2025-68616).\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eWe strongly recommend to upgrade WeasyPrint to the latest version if you use the \u003ccode\u003edefault_url_fetcher\u003c/code\u003e function in your custom URL fetcher, or if you use the \u003ccode\u003eallowed_protocols\u003c/code\u003e parameter of the \u003ccode\u003edefault_url_fetcher\u003c/code\u003e function.\u003c/p\u003e\n\u003cp\u003eRead about this release \u003ca href=\"https://www.courtbouillon.org/blog/00061-weasyprint-68/\"\u003eon our blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eSecurity\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/Kozea/WeasyPrint/blob/main/docs/changelog.rst\"\u003eweasyprint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 68.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-06.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#2662](https://github.com/Kozea/WeasyPrint/issues/2662) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2662\u0026gt;\u003c/code\u003e_:\nDon’t crash when SVG clip paths are not in defs tags\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2665](https://github.com/Kozea/WeasyPrint/issues/2665) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2665\u0026gt;\u003c/code\u003e_:\nFix position of box bounding box\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2663](https://github.com/Kozea/WeasyPrint/issues/2663) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2663\u0026gt;\u003c/code\u003e_:\nFix transparency with Acrobat and Edge\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2666](https://github.com/Kozea/WeasyPrint/issues/2666) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2666\u0026gt;\u003c/code\u003e_:\nDon’t rely on random default font to define test page size\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2670](https://github.com/Kozea/WeasyPrint/issues/2670) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2670\u0026gt;\u003c/code\u003e_:\nFix pattern detection of URL schemes\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2671](https://github.com/Kozea/WeasyPrint/issues/2671) \u0026lt;https://github.com/Kozea/WeasyPrint/pull/2671\u0026gt;\u003c/code\u003e_:\nImprove API compatibility between URLFetcherResponse and addinfourl\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2672](https://github.com/Kozea/WeasyPrint/issues/2672) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2672\u0026gt;\u003c/code\u003e_:\nFix charset for old URL fetcher requests\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2675](https://github.com/Kozea/WeasyPrint/issues/2675) \u0026lt;https://github.com/Kozea/WeasyPrint/pull/2675\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e[#2673](https://github.com/Kozea/WeasyPrint/issues/2673) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2673\u0026gt;\u003c/code\u003e\u003c/em\u003e:\nFix calc for many properties\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eContributors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGuillaume Ayoub\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBackers and sponsors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSpacinov\u003c/li\u003e\n\u003cli\u003eSyslifters\u003c/li\u003e\n\u003cli\u003eKobalt\u003c/li\u003e\n\u003cli\u003eSimon Sapin\u003c/li\u003e\n\u003cli\u003eGrip Angebotssoftware\u003c/li\u003e\n\u003cli\u003eManuel Barkhau\u003c/li\u003e\n\u003cli\u003eSimonsoft\u003c/li\u003e\n\u003cli\u003eKontextWork\u003c/li\u003e\n\u003cli\u003eMenutech\u003c/li\u003e\n\u003cli\u003eTrainingSparkle\u003c/li\u003e\n\u003cli\u003eHealthchecks.io\u003c/li\u003e\n\u003cli\u003eMethod B\u003c/li\u003e\n\u003cli\u003eFieldHub\u003c/li\u003e\n\u003cli\u003eHammerbacher\u003c/li\u003e\n\u003cli\u003eYanal-Yves Fargialla\u003c/li\u003e\n\u003cli\u003eMorntag\u003c/li\u003e\n\u003cli\u003ePiloterr\u003c/li\u003e\n\u003cli\u003eXavid\u003c/li\u003e\n\u003cli\u003eCharlie S.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/88d466df43b205c6abbc385e2832cbe6c77aeddc\"\u003e\u003ccode\u003e88d466d\u003c/code\u003e\u003c/a\u003e Version 68.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/d5dab6e9f173826208082f24546977927d9c3c0c\"\u003e\u003ccode\u003ed5dab6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2675\"\u003e#2675\u003c/a\u003e from Kozea/fix-calc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/e752cb3fde54d13cdc5eb4a7fdb80fd172a3c28b\"\u003e\u003ccode\u003ee752cb3\u003c/code\u003e\u003c/a\u003e Allow calc for more properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/66928cec7a2b000c706b5699518adbcedeff6e71\"\u003e\u003ccode\u003e66928ce\u003c/code\u003e\u003c/a\u003e Allow calc for preferred content width\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/c155e217b8ff1624f536113ab54622effece3ad8\"\u003e\u003ccode\u003ec155e21\u003c/code\u003e\u003c/a\u003e Allow calc for text-underline-offset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/9f5ca24e816a250b3c35cc5dda4b871cbc8d829a\"\u003e\u003ccode\u003e9f5ca24\u003c/code\u003e\u003c/a\u003e Allow calc for text-decoration-thickness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/b2acd6d5eb7fc00920a883169b62ad13394e1f38\"\u003e\u003ccode\u003eb2acd6d\u003c/code\u003e\u003c/a\u003e Allow calc for hyphenate-limit-zone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/321bcf696acb710115a467d04fc0b5f640faf627\"\u003e\u003ccode\u003e321bcf6\u003c/code\u003e\u003c/a\u003e Simplify, test and fix wrong calc() values\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/38d3f53154a2c3c3d7b29dd11e01ed21f61fc2ab\"\u003e\u003ccode\u003e38d3f53\u003c/code\u003e\u003c/a\u003e Fix and test calc() function for table width\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/4dfd05f13dfeadf36d44e8f72ee3f2df0b4c6945\"\u003e\u003ccode\u003e4dfd05f\u003c/code\u003e\u003c/a\u003e Don’t iterate over all lines when trying to report footnotes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kozea/WeasyPrint/compare/v66.0...v68.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 3.3.9 to 4.0.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/88e1ab7545a4af4aea15c305a154c164a95ab842\"\u003e\u003ccode\u003e88e1ab7\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.5, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10860\"\u003e#10860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/d96d489a1743d32b6bfa53fc0f69a4333209a146\"\u003e\u003ccode\u003ed96d489\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Relax isort version constraint to allow isort 8 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0b08ccb014c265700f244a885bdcbdfa3a03de46\"\u003e\u003ccode\u003e0b08ccb\u003c/code\u003e\u003c/a\u003e Fix dynamic color mapping for \u0026quot;fail-on\u0026quot; messages when using multiple reporter...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/154dba43276e8232a2e1cb8f90bfcc63886f3460\"\u003e\u003ccode\u003e154dba4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix FP for \u003ccode\u003einvalid-name\u003c/code\u003e with \u003ccode\u003etyping.Final\u003c/code\u003e on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/7b73bfdedf275935b9c5b43a6aeda5cc648b4847\"\u003e\u003ccode\u003e7b73bfd\u003c/code\u003e\u003c/a\u003e Disable unspecified-encoding for py-version above Python 3.15 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10800\"\u003e#10800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/4cc98be8b7786dbc6692493fe9cedb8585af5518\"\u003e\u003ccode\u003e4cc98be\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix setting options for import order checker (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f0d30a27b510d69f846e3aaa0054cf0a1412923c\"\u003e\u003ccode\u003ef0d30a2\u003c/code\u003e\u003c/a\u003e Sync astroid version with requirements file again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/38bdf024648724e6aea017e62d3b57cb44097ec3\"\u003e\u003ccode\u003e38bdf02\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix \u003ccode\u003elogging-unsupported-format\u003c/code\u003e when logging ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f08c33ae3e691eed868e49c0d15270dc6e6a0d6c\"\u003e\u003ccode\u003ef08c33a\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Properly detect \u003ccode\u003eself.fail()\u003c/code\u003e as a terminating...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v3.3.9...v4.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.3\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.3 (2026-04-07)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12444\"\u003e#12444\u003c/a\u003e: Fixed \u003ccode\u003epytest.approx\u003c/code\u003e which now correctly takes into account \u003ccode\u003e~collections.abc.Mapping\u003c/code\u003e keys order to compare them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13634\"\u003e#13634\u003c/a\u003e: Blocking a \u003ccode\u003econftest.py\u003c/code\u003e file using the \u003ccode\u003e-p no:\u003c/code\u003e option is now explicitly disallowed.\u003c/p\u003e\n\u003cp\u003ePreviously this resulted in an internal assertion failure during plugin loading.\u003c/p\u003e\n\u003cp\u003ePytest now raises a clear \u003ccode\u003eUsageError\u003c/code\u003e explaining that conftest files are not plugins and cannot be disabled via \u003ccode\u003e-p\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/13734\"\u003e#13734\u003c/a\u003e: Fixed crash when a test raises an exceptiongroup with \u003ccode\u003e__tracebackhide__ = True\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14195\"\u003e#14195\u003c/a\u003e: Fixed an issue where non-string messages passed to \u003c!-- raw HTML omitted --\u003eunittest.TestCase.subTest()\u003c!-- raw HTML omitted --\u003e were not printed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e: Fixed use of insecure temporary directory (CVE-2025-71176).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13388\"\u003e#13388\u003c/a\u003e: Clarified documentation for \u003ccode\u003e-p\u003c/code\u003e vs \u003ccode\u003ePYTEST_PLUGINS\u003c/code\u003e plugin loading and fixed an incorrect \u003ccode\u003e-p\u003c/code\u003e example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13731\"\u003e#13731\u003c/a\u003e: Clarified that capture fixtures (e.g. \u003ccode\u003ecapsys\u003c/code\u003e and \u003ccode\u003ecapfd\u003c/code\u003e) take precedence over the \u003ccode\u003e-s\u003c/code\u003e / \u003ccode\u003e--capture=no\u003c/code\u003e command-line options in \u003ccode\u003eAccessing captured output from a test function \u0026lt;accessing-captured-output\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14088\"\u003e#14088\u003c/a\u003e: Clarified that the default \u003ccode\u003epytest_collection\u003c/code\u003e hook sets \u003ccode\u003esession.items\u003c/code\u003e before it calls \u003ccode\u003epytest_collection_finish\u003c/code\u003e, not after.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14255\"\u003e#14255\u003c/a\u003e: TOML integer log levels must be quoted: Updating reference documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12689\"\u003e#12689\u003c/a\u003e: The test reports are now published to Codecov from GitHub Actions.\nThe test statistics is visible \u003ca href=\"https://app.codecov.io/gh/pytest-dev/pytest/tests\"\u003eon the web interface\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e-- by \u003ccode\u003ealeguy02\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a7d58d7a21b78581e636bbbdea13c66ad1657c1e\"\u003e\u003ccode\u003ea7d58d7\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22\"\u003e\u003ccode\u003e089d981\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14366\"\u003e#14366\u003c/a\u003e from bluetech/revert-14193-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac\"\u003e\u003ccode\u003e8127eaf\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix: assertrepr_compare respects dict insertion order (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14050\"\u003e#14050\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14193\"\u003e#14193\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241\"\u003e\u003ccode\u003e99a7e60\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14363\"\u003e#14363\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/95d8423bd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95\"\u003e\u003ccode\u003eddee02a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e from bluetech/cve-2025-71176-simple\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619\"\u003e\u003ccode\u003e74eac69\u003c/code\u003e\u003c/a\u003e doc: Update training info (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14298\"\u003e#14298\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14301\"\u003e#14301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869\"\u003e\u003ccode\u003ef92dee7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14267\"\u003e#14267\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d6fa26c62...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439\"\u003e\u003ccode\u003e7ee58ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12378\"\u003e#12378\u003c/a\u003e from Pierre-Sassoulas/fix-implicit-str-concat-and-d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8\"\u003e\u003ccode\u003e37da870\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14259\"\u003e#14259\u003c/a\u003e from mitre88/patch-4 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14268\"\u003e#14268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed\"\u003e\u003ccode\u003ec34bfa3\u003c/code\u003e\u003c/a\u003e Add explanation for string context diffs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14257\"\u003e#14257\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14266\"\u003e#14266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-django` from 4.11.1 to 4.12.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst\"\u003epytest-django's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eCompatibility\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOfficial Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.9, minimum version is now Python 3.10.\u003c/li\u003e\n\u003cli\u003eOfficial Django 6.0 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eImprovements\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe :ref:\u003ccode\u003emultiple databases \u0026lt;multi-db\u0026gt;\u003c/code\u003e support added in v4.3.0 is no longer considered experimental.\u003c/li\u003e\n\u003cli\u003eAdded :func:\u003ccode\u003e@pytest.mark.django_isolate_apps \u0026lt;pytest.mark.django_isolate_apps\u0026gt;\u003c/code\u003e\nfor isolating Django's app registry in pytest tests, and a\n:fixture:\u003ccode\u003edjango_isolated_apps\u003c/code\u003e fixture to access the isolated Apps registry instance if needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/a2a94956cc24bb30030510710f0f27e61efb0cf0\"\u003e\u003ccode\u003ea2a9495\u003c/code\u003e\u003c/a\u003e Release 4.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/020bc237ac7be78ab3a2780d07637f77166a6263\"\u003e\u003ccode\u003e020bc23\u003c/code\u003e\u003c/a\u003e tests: make sure access to default can also be blocked\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/bcefbe832468f764b0f2665548aae8a9f75820a7\"\u003e\u003ccode\u003ebcefbe8\u003c/code\u003e\u003c/a\u003e Add support for isolating apps in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/39c8dcc249d5c103d29d170a5ad63a2fe7067049\"\u003e\u003ccode\u003e39c8dcc\u003c/code\u003e\u003c/a\u003e plugin: add a note why we reorder tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/1830acd6193ad6d851131c9ed805c003c10ce27a\"\u003e\u003ccode\u003e1830acd\u003c/code\u003e\u003c/a\u003e pyproject.toml: require pytest 9 for self tests, switch to native toml config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/f19da084b9b8b131c5ae178f1a8a907ec6e3567b\"\u003e\u003ccode\u003ef19da08\u003c/code\u003e\u003c/a\u003e Fix the order of the test cases that use the live_server fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/92858eed573ce1786d0f67d242426c7f8f75dd7b\"\u003e\u003ccode\u003e92858ee\u003c/code\u003e\u003c/a\u003e docs: add pytest 9.0+ native TOML configuration format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/3f550d93947acda430c27be578b7619c25abddc8\"\u003e\u003ccode\u003e3f550d9\u003c/code\u003e\u003c/a\u003e build(deps): bump hynek/build-and-inspect-python-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/1f50dd29b8778e645ca7a88a285b30a9c788afc4\"\u003e\u003ccode\u003e1f50dd2\u003c/code\u003e\u003c/a\u003e Drop obsolete traces of Django 5.0 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/247ec1c365da3d25f230dde22b7a0e1805749d09\"\u003e\u003ccode\u003e247ec1c\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ePytestCollectionWarning\u003c/code\u003e for \u003ccode\u003eTestRunner\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-django/issues/1259\"\u003e#1259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-django/compare/v4.11.1...v4.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-env` from 1.1.5 to 1.6.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-env/releases\"\u003epytest-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(env): preserve existing env values by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/213\"\u003epytest-dev/pytest-env#213\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/pytest-env/compare/1.5.1...1.6.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.1...1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/203\"\u003epytest-dev/pytest-env#203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md to .github/ by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/206\"\u003epytest-dev/pytest-env#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing .github config files by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/207\"\u003epytest-dev/pytest-env#207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/208\"\u003epytest-dev/pytest-env#208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix verbose source attribution when falling back to INI env by \u003ca href=\"https://github.com/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\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/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\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/pytest-env/compare/1.5.0...1.5.1\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.0...1.5.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(plugin): add --pytest-env-verbose for debugging env assignments by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/199\"\u003epytest-dev/pytest-env#199\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/pytest-env/compare/1.4.0...1.5.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.4.0...1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(cli): add --envfile option for runtime environment switching by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/197\"\u003epytest-dev/pytest-env#197\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/pytest-env/compare/1.3.2...1.4.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.3.2...1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.3.2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 build(type): migrate from mypy to ty by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/192\"\u003epytest-dev/pytest-env#192\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/8bd22d1b9d9d7594c408040610868743ca3d5a9b\"\u003e\u003ccode\u003e8bd22d1\u003c/code\u003e\u003c/a\u003e ✨ feat(env): preserve existing env values (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/213\"\u003e#213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81f9e0e19d17169f03d9c078818421f34c45a67d\"\u003e\u003ccode\u003e81f9e0e\u003c/code\u003e\u003c/a\u003e Fix verbose source attribution when falling back to INI env (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/211\"\u003e#211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81dc95d54f09ebb9b6e5f704b86a4bb60552b08b\"\u003e\u003ccode\u003e81dc95d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/439cc76fecbfbb95b6d3123a32bbc8030a9f95c0\"\u003e\u003ccode\u003e439cc76\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/209\"\u003e#209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/b1b498e28cb76863a6e88c713a9bb09cdfbb0857\"\u003e\u003ccode\u003eb1b498e\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/066dadc7b4f8a40818e2c19c6bbd7281671eb081\"\u003e\u003ccode\u003e066dadc\u003c/code\u003e\u003c/a\u003e Add missing .github config files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/7d01327e395f0080dd6256c0cf30f2a8693c3c32\"\u003e\u003ccode\u003e7d01327\u003c/code\u003e\u003c/a\u003e Add SECURITY.md to .github/\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/04259c91dfbd4b77a053bcad5fd63d5d7d78ae5d\"\u003e\u003ccode\u003e04259c9\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/205\"\u003e#205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/4fdb9d8d6defe6fc40069455ec672fa3f1bef51f\"\u003e\u003ccode\u003e4fdb9d8\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/204\"\u003e#204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/672e44f059e03870caf87054aa7426411a8a9658\"\u003e\u003ccode\u003e672e44f\u003c/code\u003e\u003c/a\u003e Add permissions to workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/203\"\u003e#203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.1.5...1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pontos` from 26.2.0 to 26.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/greenbone/pontos/releases\"\u003epontos's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epontos 26.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/greenbone/pontos/compare/v26.4.3..26.5.0\"\u003e26.5.0\u003c/a\u003e - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:construction_worker: Changed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u0026quot;Status Change\u0026quot; to \u0026quot;CVE Status Change\u0026quot; by \u003ca href=\"https://github.com/n-thumann\"\u003e\u003ccode\u003e@​n-thumann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1220\"\u003e#1220\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:ship: Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump urllib3 from 2.6.3 to 2.7.0 by \u003ca href=\"https://github.com/dependabot%5Bbot%5D\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1217\"\u003e#1217\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epontos 26.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/greenbone/pontos/compare/v26.4.2..26.4.3\"\u003e26.4.3\u003c/a\u003e - 2026-04-29\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:sparkles: Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCVE Change event name \u0026quot;Data Remediation\u0026quot; by \u003ca href=\"https://github.com/n-thumann\"\u003e\u003ccode\u003e@​n-thumann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1214\"\u003e#1214\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epontos 26.4.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/greenbone/pontos/compare/v26.4.1..26.4.2\"\u003e26.4.2\u003c/a\u003e - 2026-04-27\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:sparkles: Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo test cases for XML files by \u003ca href=\"https://github.com/wiegandm\"\u003e\u003ccode\u003e@​wiegandm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1211\"\u003e#1211\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:construction_worker: Changed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove XML declarations from templates by \u003ca href=\"https://github.com/wiegandm\"\u003e\u003ccode\u003e@​wiegandm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/greenbone/pontos/commit/9e2d78c64bcd5ffc4fb793d3770bdb409cf56b1e\"\u003e9e2d78c\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent duplication and adding of XML declarations by \u003ca href=\"https://github.com/wiegandm\"\u003e\u003ccode\u003e@​wiegandm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/greenbone/pontos/commit/ee996b5771ddb3e0183b00ad34ffda45988d6dbc\"\u003eee996b5\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:wrench: Miscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse git-cliff for release changelog generation by \u003ca href=\"https://github.com/bjoernricks\"\u003e\u003ccode\u003e@​bjoernricks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/greenbone/pontos/commit/af9e7f10db1b8cab9912e0c0827380feab952194\"\u003eaf9e7f1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the conventional commits workflow by \u003ca href=\"https://github.com/bjoernricks\"\u003e\u003ccode\u003e@​bjoernricks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1210\"\u003e#1210\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:ship: Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump the python-packages group with 8 updates by \u003ca href=\"https://github.com/dependabot%5Bbot%5D\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1209\"\u003e#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epontos 26.4.1\u003c/h2\u003e\n\u003ch2\u003e[26.4.1] - 2026-04-21\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/greenbone/pontos/commit/a380de64b4e171a476b1cf3172319ee180ed818f\"\u003e\u003ccode\u003ea380de6\u003c/code\u003e\u003c/a\u003e Automatic release to 26.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/12b9dd283e3d261098719ac8ce94625f73e98684\"\u003e\u003ccode\u003e12b9dd2\u003c/code\u003e\u003c/a\u003e Change: Rename \u0026quot;Status Change\u0026quot; to \u0026quot;CVE Status Change\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/fd0a178d18da0d3ead9de7c1d9933364d6cfafac\"\u003e\u003ccode\u003efd0a178\u003c/code\u003e\u003c/a\u003e Deps: Bump urllib3 from 2.6.3 to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/00adf5473d50e7aa0e0839984a8ba44447e28c0d\"\u003e\u003ccode\u003e00adf54\u003c/code\u003e\u003c/a\u003e Update: Greenbone license header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/a793376e247ac9a8e0994d1ba56cd2e44bbaf575\"\u003e\u003ccode\u003ea793376\u003c/code\u003e\u003c/a\u003e Automatic adjustments after release [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/7e3dffb21ddab71884678eac10215767319d29f4\"\u003e\u003ccode\u003e7e3dffb\u003c/code\u003e\u003c/a\u003e Automatic release to 26.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/f2f04018b6e2eabb1b64123445dadbcfdb85d112\"\u003e\u003ccode\u003ef2f0401\u003c/code\u003e\u003c/a\u003e Add: CVE Change event name \u0026quot;Data Remediation\u0026quot; (\u003ca href=\"https://redirect.github.com/greenbone/pontos/issues/1214\"\u003e#1214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/a81ba0338193a9e889da80825487a86be7179ee2\"\u003e\u003ccode\u003ea81ba03\u003c/code\u003e\u003c/a\u003e Automatic adjustments after release [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/46c3185d68b38c4889db97a0e89fd2622728c341\"\u003e\u003ccode\u003e46c3185\u003c/code\u003e\u003c/a\u003e Automatic release to 26.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/31d04650f4750791cbfdfbc3afa267693e709051\"\u003e\u003ccode\u003e31d0465\u003c/code\u003e\u003c/a\u003e Use snake_case for release-version output variables\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/greenbone/pontos/compare/v26.2.0...v26.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 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/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\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/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 3.3.11 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\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/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a068430290b375a06f6eccdcea7d5026995172ba\"\u003e\u003ccode\u003ea068430\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.2, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.3.11...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.4.22 to 2026.5.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d7ea151afc2ce6bef0555b9349902bd867e928dd\"\u003e\u003ccode\u003ed7ea151\u003c/code\u003e\u003c/a\u003e 2026.05.20 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.04.22...2026.05.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.14.0\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.14.0 — 2026-05-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: now when running one of the reporting commands, if there are\nparallel data files that need combining, they will be implicitly combined\nbefore creating the report. There is no option to avoid the combination; let\nus know if you have a use case that requires it.  Thanks, \u003ccode\u003eTim Hatch \u0026lt;pull 2162_\u0026gt;\u003c/code\u003e\u003cem\u003e. Closes \u003ccode\u003eissue 1781\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the output from \u003ccode\u003ecombine\u003c/code\u003e was too verbose, listing each file\nconsidered. Now it shows a single line with the counts of files combined,\nfiles skipped, and files with errors. The \u003ccode\u003e-q\u003c/code\u003e flag suppresses this line.\nThe old detailed lines are available with the new \u003ccode\u003e--debug=combine\u003c/code\u003e option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: running a Python file through a symlink now sets the sys.path correctly,\nmatching regular Python behavior. Fixes \u003ccode\u003eissue 2157\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eCollector.flush_data\u003c/code\u003e could fail with \u0026quot;RuntimeError: Set changed\nsize during iteration\u0026quot; when a tracer in another thread added a line to the\nper-file set that \u003ccode\u003eadd_lines\u003c/code\u003e (or \u003ccode\u003eadd_arcs\u003c/code\u003e) was iterating. The values\npassed to \u003ccode\u003eCoverageData\u003c/code\u003e are now snapshotted via \u003ccode\u003edict.copy()\u003c/code\u003e and\n\u003ccode\u003eset.copy()\u003c/code\u003e, which are atomic under the GIL. Thanks, \u003ccode\u003eAlex Vandiver \u0026lt;pull 2165_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the soft keyword \u003ccode\u003elazy\u003c/code\u003e is now bolded in HTML reports.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are no longer testing eventlet support. Eventlet started issuing stern\ndeprecation warnings that break our tests. Our support code is still there.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1781: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1781\"\u003ecoveragepy/coveragepy#1781\u003c/a\u003e\n.. _issue 2157: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2157\"\u003ecoveragepy/coveragepy#2157\u003c/a\u003e\n.. _pull 2162: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2162\"\u003ecoveragepy/coveragepy#2162\u003c/a\u003e\n.. _pull 2165: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2165\"\u003ecoveragepy/coveragepy#2165\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.5 — 2026-03-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eissue 2138\u003c/code\u003e_ describes a memory leak that happened when repeatedly\nusing the Coverage API with in-memory data. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the markdown-formatted coverage report didn't fully escape special\ncharacters in file paths (\u003ccode\u003eissue 2141\u003c/code\u003e\u003cem\u003e). This would be very unlikely to\ncause a problem, but now it's done properly, thanks to \u003ccode\u003eEllie Ayla \u0026lt;pull 2142_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the C extension wouldn't build on VS2019, but now it does (\u003ccode\u003eissue 2145\u003c/code\u003e_).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/646351b60429f1b5760af6c1b97b28483244a955\"\u003e\u003ccode\u003e646351b\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/39cd015505c8b04369c5b06e34fc22449a697370\"\u003e\u003ccode\u003e39cd015\u003c/code\u003e\u003c/a\u003e docs: prep for 7.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/649e8aa34af7d80c386ae82e8a3a6c9a3acb0dab\"\u003e\u003ccode\u003e649e8aa\u003c/code\u003e\u003c/a\u003e docs: thanks Alex Vandiver for \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2165\"\u003e#2165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8cd392e3b5c4bc15d534aaec0c21714f9f518469\"\u003e\u003ccode\u003e8cd392e\u003c/code\u003e\u003c/a\u003e fix: snapshot data in Collector.flush_data to avoid threading race (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2165\"\u003e#2165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c48e0edc2ebe44621b0053176e90f77b0c79bec1\"\u003e\u003ccode\u003ec48e0ed\u003c/code\u003e\u003c/a\u003e fix: less output for combining\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c2a3a284078556c911e0d9b6c6af1b7082a363ea\"\u003e\u003ccode\u003ec2a3a28\u003c/code\u003e\u003c/a\u003e docs: explain the change from \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2162\"\u003e#2162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/1cd47aa6ac1da4e150da44055295d4e4f3a014e8\"\u003e\u003ccode\u003e1cd47aa\u003c/code\u003e\u003c/a\u003e fix: implicit combine-during-report now removes the combined data files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2d99fd7696e0bccec8037479a4e45c1ecccb8058\"\u003e\u003ccode\u003e2d99fd7\u003c/code\u003e\u003c/a\u003e feat: automatically combine coverage in report, thanks Tim Hatch (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2162\"\u003e#2162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/9fbdcdfee1c122fac43f1bf9a5e2d1f4d835f21c\"\u003e\u003ccode\u003e9fbdcdf\u003c/code\u003e\u003c/a\u003e fix: lazy soft keywords are bolded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/5de7d0267b9466d59995aaae1a7e707c8c6f66e7\"\u003e\u003ccode\u003e5de7d02\u003c/code\u003e\u003c/a\u003e build: oops, misplaced quote\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.7...7.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cssselect2` from 0.8.0 to 0.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kozea/cssselect2/releases\"\u003ecssselect2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support of Python 3.9, support 3.14\u003c/li\u003e\n\u003cli\u003eSupport :host\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/Kozea/cssselect2/blob/main/docs/changelog.rst\"\u003ecssselect2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cp\u003eVersion 0.9.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2026-02-12.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support of Python 3.9, support 3.14\u003c/li\u003e\n\u003cli\u003eSupport :host\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 0.8.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2025-03-05.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support of Python 3.8 and 3.9, support 3.12 and 3.13\u003c/li\u003e\n\u003cli\u003eHandle case-sensitive and case-insensitive attribute selectors\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 0.7.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2022-09-19.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport :has selector\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 0.6.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2022-04-15.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThis version deprecates the \u003ccode\u003eiter_ancestors\u003c/code\u003e and \u003ccode\u003eiter_previous_siblings\u003c/code\u003e\nmethods, that will be removed in 0.7.0. Use the \u003ccode\u003ean...\n\n_Description has been truncated_","html_url":"https://github.com/greenbone/pheme/pull/1059","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fpheme/issues/1059","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1059/packages"},{"uuid":"4498340075","node_id":"PR_kwDOSkVWvM7eIMZ2","number":8,"state":"open","title":"chore(deps-dev)(deps-dev): bump the python-minor-and-patch group with 3 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-05-21T22:33:49.000Z","updated_at":"2026-05-21T22:33:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)(deps-dev): bump","group_name":"python-minor-and-patch","update_count":3,"packages":[{"name":"ruff","old_version":"0.15.12","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uv","old_version":"0.11.7","new_version":"0.11.16","repository_url":"https://github.com/astral-sh/uv"},{"name":"astroid","old_version":"4.0.4","new_version":"4.1.2","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 3 updates: [ruff](https://github.com/astral-sh/ruff), [uv](https://github.com/astral-sh/uv) and [astroid](https://github.com/pylint-dev/astroid).\n\nUpdates `ruff` from 0.15.12 to 0.15.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.12...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uv` from 0.11.7 to 0.11.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/releases\"\u003euv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for direct archive dependencies in Git (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/10072\"\u003e#10072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust hint rendering (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18090\"\u003e#18090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euv audit: specialize malformed OSV error (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19515\"\u003e#19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject locked malware installations (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow disabling reading the system config with \u003ccode\u003eUV_NO_SYSTEM_CONFIG\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19476\"\u003e#19476\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow environment variables that take a list to be empty (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19503\"\u003e#19503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure that incompatible wheel hints do not leak secrets (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19504\"\u003e#19504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject unsafe entry points in \u003ccode\u003euv-build\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19495\"\u003e#19495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict delimiters in entry point parsing (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19471\"\u003e#19471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euv-netrc: fix multi-word no-space comment lines causing parse errors (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19494\"\u003e#19494\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument and test relative exclude-newer support for uv pip (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19475\"\u003e#19475\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall uv 0.11.16\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/uv/releases/download/0.11.16/uv-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/uv/releases/download/0.11.16/uv-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload uv 0.11.16\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.16/uv-aarch64-apple-darwin.tar.gz\"\u003euv-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.16/uv-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/blob/main/CHANGELOG.md\"\u003euv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for direct archive dependencies in Git (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/10072\"\u003e#10072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust hint rendering (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18090\"\u003e#18090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euv audit: specialize malformed OSV error (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19515\"\u003e#19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject locked malware installations (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow disabling reading the system config with \u003ccode\u003eUV_NO_SYSTEM_CONFIG\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19476\"\u003e#19476\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow environment variables that take a list to be empty (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19503\"\u003e#19503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure that incompatible wheel hints do not leak secrets (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19504\"\u003e#19504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject unsafe entry points in \u003ccode\u003euv-build\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19495\"\u003e#19495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict delimiters in entry point parsing (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19471\"\u003e#19471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euv-netrc: fix multi-word no-space comment lines causing parse errors (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19494\"\u003e#19494\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument and test relative exclude-newer support for uv pip (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19475\"\u003e#19475\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.15\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-18.\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a TAR parser differential, see \u003ca href=\"https://github.com/astral-sh/tokio-tar/security/advisories/GHSA-3cv2-h65g-fgmm\"\u003eGHSA-3cv2-h65g-fgmm\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19463\"\u003e#19463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnforce that entry points cannot escape in the scripts directory, see \u003ca href=\"https://github.com/astral-sh/uv/security/advisories/GHSA-4gg8-gxpx-9rph\"\u003eGHSA-4gg8-gxpx-9rph\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19464\"\u003e#19464\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML v1.1 -\u0026gt; v1.0 backwards compatibility for source distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18741\"\u003e#18741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Azure request signing (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19421\"\u003e#19421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply stricter validation to all wheel filename segments (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19364\"\u003e#19364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject empty strings as an invalid package name (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19435\"\u003e#19435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse structured errors for signing authentication failures (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19422\"\u003e#19422\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euv audit: Add JSON output (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19305\"\u003e#19305\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/uv/commit/135a3636789bb6886e0a7876f58cb4dbb270ba6d\"\u003e\u003ccode\u003e135a363\u003c/code\u003e\u003c/a\u003e Bump version to 0.11.16 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19522\"\u003e#19522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/3b5f99412c7050f1050c09d2b7a48f82c333adfa\"\u003e\u003ccode\u003e3b5f994\u003c/code\u003e\u003c/a\u003e Add a \u003ccode\u003euv lock\u003c/code\u003e check to CI (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19524\"\u003e#19524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/4ffb506acf2b3d4dfd9a343a3cee53abe63a4de7\"\u003e\u003ccode\u003e4ffb506\u003c/code\u003e\u003c/a\u003e Improve crates.io new crate error message (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19523\"\u003e#19523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/51ba989e678ba1558ed48e1ea3e66d01a6dc30b3\"\u003e\u003ccode\u003e51ba989\u003c/code\u003e\u003c/a\u003e Add support for direct archive dependencies in Git (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/10072\"\u003e#10072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/c07a6efb380b2ecd39161194aa7f3bb5d3f967ca\"\u003e\u003ccode\u003ec07a6ef\u003c/code\u003e\u003c/a\u003e Reject locked malware installations (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/58a6734719d19da5335a5985843435745ff93320\"\u003e\u003ccode\u003e58a6734\u003c/code\u003e\u003c/a\u003e Allow environment variables that take a list to be empty (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19503\"\u003e#19503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/c1477e2b0f9e0ef510554ebfdf76aa68d477dfe6\"\u003e\u003ccode\u003ec1477e2\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eUV_NO_SYSTEM_CONFIG\u003c/code\u003e in tests to avoid reading machine-global config (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/4648a0b9e67c2abfd5aa1404d2daeac800b987f5\"\u003e\u003ccode\u003e4648a0b\u003c/code\u003e\u003c/a\u003e uv audit: specialize malformed OSV error (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19515\"\u003e#19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/e2375abfe10d0e2326bf29c5f425b38f71ebf7db\"\u003e\u003ccode\u003ee2375ab\u003c/code\u003e\u003c/a\u003e Test \u003ccode\u003ecreate_junction\u003c/code\u003e changes from \u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19402\"\u003e#19402\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19487\"\u003e#19487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/547bf2f9e7f4ff8b3e8a974e0cad3159ac04bb8c\"\u003e\u003ccode\u003e547bf2f\u003c/code\u003e\u003c/a\u003e Avoid unwrapping from \u003ccode\u003eOnceMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19510\"\u003e#19510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/uv/compare/0.11.7...0.11.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.4 to 4.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-03-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix crash accessing property \u003ccode\u003efset\u003c/code\u003e in generic classes with type annotations.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2996\"\u003e#2996\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix infinite recursion caused by cyclic inference in \u003ccode\u003eConstraint\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRecursionError\u003c/code\u003e in \u003ccode\u003e_compute_mro()\u003c/code\u003e when circular class hierarchies\nare created through runtime name rebinding. Circular bases are now resolved\nto the original class instead of recursing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2967\"\u003e#2967\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10821\"\u003epylint-dev/pylint#10821\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eDuplicateBasesError\u003c/code\u003e crash in dataclass transform when a class has\nduplicate bases in its MRO (e.g., \u003ccode\u003eProtocol\u003c/code\u003e appearing both directly and\nindirectly). Catch \u003ccode\u003eMroError\u003c/code\u003e at \u003ccode\u003e.mro()\u003c/code\u003e call sites in\n\u003ccode\u003ebrain_dataclasses.py\u003c/code\u003e, consistent with the existing pattern elsewhere.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2628\"\u003e#2628\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eFunctionModel\u003c/code\u003e returning descriptor attributes for builtin functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCatch \u003ccode\u003eMemoryError\u003c/code\u003e when inferring f-strings with extremely large format\nwidths (e.g. \u003ccode\u003ef'{0:11111111111}'\u003c/code\u003e) so that inference yields \u003ccode\u003eUninferable\u003c/code\u003e\ninstead of crashing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2762\"\u003e#2762\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eValueError\u003c/code\u003e in \u003ccode\u003e__str__\u003c/code\u003e/\u003ccode\u003erepr\u003c/code\u003e and error messages when nodes have\nextreme values (very long identifiers or large integers). Clamp pprint width\nto a minimum of 1 and truncate oversized values in error messages.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2764\"\u003e#2764\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-03-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix crash accessing property \u003ccode\u003efset\u003c/code\u003e in generic classes with type annotations.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2996\"\u003e#2996\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix infinite recursion caused by cyclic inference in \u003ccode\u003eConstraint\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRecursionError\u003c/code\u003e in \u003ccode\u003e_compute_mro()\u003c/code\u003e when circular class hierarchies\nare created through runtime name rebinding. Circular bases are now resolved\nto the original class instead of recursing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2967\"\u003e#2967\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10821\"\u003epylint-dev/pylint#10821\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eDuplicateBasesError\u003c/code\u003e crash in dataclass transform when a class has\nduplicate bases in its MRO (e.g., \u003ccode\u003eProtocol\u003c/code\u003e appearing both directly and\nindirectly). Catch \u003ccode\u003eMroError\u003c/code\u003e at \u003ccode\u003e.mro()\u003c/code\u003e call sites in\n\u003ccode\u003ebrain_dataclasses.py\u003c/code\u003e, consistent with the existing pattern elsewhere.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2628\"\u003e#2628\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eFunctionModel\u003c/code\u003e returning descriptor attributes for builtin functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCatch \u003ccode\u003eMemoryError\u003c/code\u003e when inferring f-strings with extremely large format\nwidths (e.g. \u003ccode\u003ef'{0:11111111111}'\u003c/code\u003e) so that inference yields \u003ccode\u003eUninferable\u003c/code\u003e\ninstead of crashing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2762\"\u003e#2762\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eValueError\u003c/code\u003e in \u003ccode\u003e__str__\u003c/code\u003e/\u003ccode\u003erepr\u003c/code\u003e and error messages when nodes have\nextreme values (very long identifiers or large integers). Clamp pprint width\nto a minimum of 1 and truncate oversized values in error messages.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2764\"\u003e#2764\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\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/pylint-dev/astroid/commit/91dac1330a52c8e606f18720d02667d49cdce8bd\"\u003e\u003ccode\u003e91dac13\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.2, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/796eba878e3b1767bc817298d0243e1d1c7c0d21\"\u003e\u003ccode\u003e796eba8\u003c/code\u003e\u003c/a\u003e objectmodel: fix crash analyzing property fset in generic classes with type a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ca814f0d7106a24f5d2b101ee7aaabaad3428b61\"\u003e\u003ccode\u003eca814f0\u003c/code\u003e\u003c/a\u003e Update CI workflow to include maintenance branch (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2999\"\u003e#2999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/75938774dfaff2e062abd519a82670a9bc19fbc0\"\u003e\u003ccode\u003e7593877\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Fix cyclic inference by constraints (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2998\"\u003e#2998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3f63f905cb2f2e01cdf11451d1ec7733239adbea\"\u003e\u003ccode\u003e3f63f90\u003c/code\u003e\u003c/a\u003e Fix builtin functions incorrectly exposing descriptor attributes (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2983\"\u003e#2983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/be7479e2e9980e62801c8cb4bb36263f1d5bb616\"\u003e\u003ccode\u003ebe7479e\u003c/code\u003e\u003c/a\u003e Fix ValueError in \u003cstrong\u003estr\u003c/strong\u003e/repr and error messages with extreme values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2971\"\u003e#2971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/1c9938d4ef2469117d098587aecd022795d4bdbf\"\u003e\u003ccode\u003e1c9938d\u003c/code\u003e\u003c/a\u003e Fix RecursionError in _compute_mro() on circular class hierarchies (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2968\"\u003e#2968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/98938adeba4693f0af4ddd39687f8cc86640e8ba\"\u003e\u003ccode\u003e98938ad\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Fix DuplicateBasesError crash in dataclass trans...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/33fabe0cedce85162fcae11c4c57098389d27ee3\"\u003e\u003ccode\u003e33fabe0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Fix MemoryError when inferring f-string with lar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/exploitintel/eip-search/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/exploitintel%2Feip-search/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4019234632","node_id":"PR_kwDORdyTPM7HvPzI","number":2,"state":"open","title":"Bump astroid from 4.0.0b0 to 4.1.1","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-03-03T23:35:20.000Z","updated_at":"2026-03-03T23:35:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.0b0","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.0b0 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.0b0...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.0b0\u0026new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/swe-qa-benchmarking/pylint/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/swe-qa-benchmarking%2Fpylint/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4006932596","node_id":"PR_kwDOHZgEBs7HHPs_","number":97,"state":"open","title":"Bump the ofe-minor-and-patch-updates group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T11:06:55.000Z","updated_at":"2026-03-01T11:06:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ofe-minor-and-patch-updates","update_count":21,"packages":[{"name":"asgiref","old_version":"3.11.0","new_version":"3.11.1","repository_url":"https://github.com/django/asgiref"},{"name":"astroid","old_version":"4.0.3","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"46.0.4","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"django-allauth","old_version":"65.14.0","new_version":"65.14.3","repository_url":"https://github.com/sponsors/pennersr"},{"name":"django-crispy-forms","old_version":"2.5","new_version":"2.6","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"filelock","old_version":"3.20.3","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"google-api-core","old_version":"2.29.0","new_version":"2.30.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-api-python-client","old_version":"2.188.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-cloud-artifact-registry","old_version":"1.19.0","new_version":"1.20.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-pubsub","old_version":"2.34.0","new_version":"2.35.0","repository_url":"https://github.com/googleapis/python-pubsub"},{"name":"google-cloud-compute","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-storage","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"grpcio","old_version":"1.76.0","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.76.0","new_version":"1.78.0"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"proto-plus","old_version":"1.27.0","new_version":"1.27.1","repository_url":"https://github.com/googleapis/proto-plus-python"},{"name":"pylint","old_version":"4.0.4","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"uvicorn","old_version":"0.40.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xmltodict","old_version":"1.0.2","new_version":"1.0.4","repository_url":"https://github.com/martinblech/xmltodict"}],"path":null,"ecosystem":"pip"},"body":"Bumps the ofe-minor-and-patch-updates group with 21 updates in the /community/front-end/ofe directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [asgiref](https://github.com/django/asgiref) | `3.11.0` | `3.11.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.3` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.4` | `46.0.5` |\n| [django-allauth](https://github.com/sponsors/pennersr) | `65.14.0` | `65.14.3` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `2.5` | `2.6` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.24.3` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.29.0` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.188.0` | `2.190.0` |\n| [google-cloud-artifact-registry](https://github.com/googleapis/google-cloud-python) | `1.19.0` | `1.20.0` |\n| [google-cloud-pubsub](https://github.com/googleapis/python-pubsub) | `2.34.0` | `2.35.0` |\n| [google-cloud-compute](https://github.com/googleapis/google-cloud-python) | `1.43.0` | `1.44.0` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.8.0` | `3.9.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.76.0` | `1.78.0` |\n| [grpcio-status](https://grpc.io) | `1.76.0` | `1.78.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [proto-plus](https://github.com/googleapis/proto-plus-python) | `1.27.0` | `1.27.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.4` | `4.0.5` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.40.0` | `0.41.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.1.0` | `2.1.1` |\n| [xmltodict](https://github.com/martinblech/xmltodict) | `1.0.2` | `1.0.4` |\n\n\nUpdates `asgiref` from 3.11.0 to 3.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django/asgiref/blob/main/CHANGELOG.txt\"\u003easgiref's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.1 (2026-02-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSECURITY FIX CVE-2025-14550: There was a potential DoS vector for users of\nthe \u003ccode\u003easgiref.wsgi.WsgiToAsgi\u003c/code\u003e adapter. Malicious requests, including an unreasonably\nlarge number of values for the same header, could lead to resource exhaustion\nwhen building the WSGI environment.\u003c/p\u003e\n\u003cp\u003eTo mitigate this, the algorithm is changed to be more efficient, and\n\u003ccode\u003eWsgiToAsgi\u003c/code\u003e gains a new optional \u003ccode\u003eduplicate_header_limit\u003c/code\u003e parameter,\nwhich defaults to 100. This specifies the number of times a single header may\nbe repeated before the request is rejected as malformed.\u003c/p\u003e\n\u003cp\u003eYou may override \u003ccode\u003eduplicate_header_limit\u003c/code\u003e when configuring your application::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapplication = WsgiToAsgi(wsgi_app, duplicate_header_limit=200)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSet \u003ccode\u003eduplicate_header_limit=None\u003c/code\u003e if you wish to disable this check.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a regression in 3.11.0 in \u003ccode\u003esync_to_async\u003c/code\u003e when wrapping a callable\nwith an attribute named \u003ccode\u003econtext\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/537\"\u003e#537\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/d97a7339524c89798c510de6c142b663fe40400c\"\u003e\u003ccode\u003ed97a733\u003c/code\u003e\u003c/a\u003e Releasing 3.11.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/a50968a52a50a0bcb0f339ba41e8b52cbf74c604\"\u003e\u003ccode\u003ea50968a\u003c/code\u003e\u003c/a\u003e CVE-2025-14550: Fixed duplicate header handling in WsgiToAsgi.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/0fb85a4352b079ab8191cc593865bd99c987141f\"\u003e\u003ccode\u003e0fb85a4\u003c/code\u003e\u003c/a\u003e Fixed sync_to_async wrapping callables with attribute named \u003ccode\u003econtext\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/2b28409ab83b3e4cf6fed9019403b71f8d7d1c51\"\u003e\u003ccode\u003e2b28409\u003c/code\u003e\u003c/a\u003e Updated Hypercorn homepage URL (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django/asgiref/compare/3.11.0...3.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.3 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.4 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.4...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth` from 65.14.0 to 65.14.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 2.5 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\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/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/dc8007e35f3387cca3e799a6fc93226a5a808bdc\"\u003e\u003ccode\u003edc8007e\u003c/code\u003e\u003c/a\u003e Release 2.6. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/792c6717388aef8fa4b8482f6858048afaa6803f\"\u003e\u003ccode\u003e792c671\u003c/code\u003e\u003c/a\u003e Updated versions in pyproject.toml. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/af31d24c681a90b5217df66d47a6da292baff89c\"\u003e\u003ccode\u003eaf31d24\u003c/code\u003e\u003c/a\u003e Fix incorrect reverse in crispy tag docs (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/fb7acdcbb861a5194e26739cf5e2f0ac16d4b30c\"\u003e\u003ccode\u003efb7acdc\u003c/code\u003e\u003c/a\u003e Don't crash when using the crispy template tag and missing variables (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/d30a0ab6e3f180c9ca63636a45e261b0815ce0ac\"\u003e\u003ccode\u003ed30a0ab\u003c/code\u003e\u003c/a\u003e Dropped unsupported Django versions. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/3f5b88da2a305f79a8cae5f6bd54475c22535652\"\u003e\u003ccode\u003e3f5b88d\u003c/code\u003e\u003c/a\u003e Improved |as_crispy_field error message. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/6a97c68d7465a75db57108d50959f98aabd2ec1b\"\u003e\u003ccode\u003e6a97c68\u003c/code\u003e\u003c/a\u003e Fix typos in some files (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.5...2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.20.3 to 3.24.3\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\u003e3.24.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries 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/492\"\u003etox-dev/filelock#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire 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/495\"\u003etox-dev/filelock#495\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/3.24.2...3.24.3\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.2...3.24.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework 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/489\"\u003etox-dev/filelock#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test 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/490\"\u003etox-dev/filelock#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race 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/491\"\u003etox-dev/filelock#491\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/3.24.1...3.24.2\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.1...3.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition 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/488\"\u003etox-dev/filelock#488\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/3.24.0...3.24.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.0...3.24.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS 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/480\"\u003etox-dev/filelock#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor 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/482\"\u003etox-dev/filelock#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage 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/484\"\u003etox-dev/filelock#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACL inheritance 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/483\"\u003etox-dev/filelock#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock 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/481\"\u003etox-dev/filelock#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire 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/487\"\u003etox-dev/filelock#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration 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/486\"\u003etox-dev/filelock#486\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/3.23.0...3.24.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.23.0...3.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.23.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries 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/478\"\u003etox-dev/filelock#478\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\u003chr /\u003e\n\u003cp\u003e3.24.3 (2026-02-19)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire :pr:\u003ccode\u003e495\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries :pr:\u003ccode\u003e492\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.2 (2026-02-16)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race :pr:\u003ccode\u003e491\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test :pr:\u003ccode\u003e490\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework :pr:\u003ccode\u003e489\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.1 (2026-02-15)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition :pr:\u003ccode\u003e488\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/68\"\u003e#68\u003c/a\u003e) :pr:\u003ccode\u003e486\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/309\"\u003e#309\u003c/a\u003e) :pr:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock :pr:\u003ccode\u003e481\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACLs (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/378\"\u003e#378\u003c/a\u003e) :pr:\u003ccode\u003e483\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage :pr:\u003ccode\u003e484\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor :pr:\u003ccode\u003e482\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS :pr:\u003ccode\u003e480\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.23.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: move from Unlicense to MIT :pr:\u003ccode\u003e479\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries :pr:\u003ccode\u003e478\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.22.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): skip stale detection on Windows :pr:\u003ccode\u003e477\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): detect and break stale locks :pr:\u003ccode\u003e476\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b34b3df34b8a6a6c7739483283ef40891d5ddbda\"\u003e\u003ccode\u003eb34b3df\u003c/code\u003e\u003c/a\u003e Release 3.24.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e266937a96be84181c8e7464ad1f567b70cf99b6\"\u003e\u003ccode\u003ee266937\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e65c3b836a90e09d27abfe3855bba4984b85a115\"\u003e\u003ccode\u003ee65c3b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a67ae005e57aa67b6026af3122a092f73aff69b6\"\u003e\u003ccode\u003ea67ae00\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): add trailing blank line after changelog entries (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/db3e05a5ea4dcb6fa96bad3dd033881a6dfd2014\"\u003e\u003ccode\u003edb3e05a\u003c/code\u003e\u003c/a\u003e Release 3.24.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ab6b90e809ebd9187ee77ce09f97bd5dce102a39\"\u003e\u003ccode\u003eab6b90e\u003c/code\u003e\u003c/a\u003e 🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/98b4ee96a46514beea08a2c90eca4ee5e1a4c5b2\"\u003e\u003ccode\u003e98b4ee9\u003c/code\u003e\u003c/a\u003e 🐛 fix(test): resolve flaky write non-starvation test (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ef15f6bc106f197711850f18a281fd87bd7bedff\"\u003e\u003ccode\u003eef15f6b\u003c/code\u003e\u003c/a\u003e 📝 docs: restructure using Diataxis framework (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0b2f65ba65b3241a0d273a23bd729601e3ebe541\"\u003e\u003ccode\u003e0b2f65b\u003c/code\u003e\u003c/a\u003e Release 3.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/abccdba2fb1532245625139f28dabf42b31a19a3\"\u003e\u003ccode\u003eabccdba\u003c/code\u003e\u003c/a\u003e 🐛 fix(soft): resolve Windows deadlock and test race condition (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.3...3.24.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-core` from 2.29.0 to 2.30.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-api-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-api-core: v2.30.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003e2.30.0\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve exception cause (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c7fc19303e0f1d7357109a73c13f875a5ced7606\"\u003ec7fc19303e0f1d7357109a73c13f875a5ced7606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erequire Python ≥ 3.9, protobuf ≥ 4.25.8 (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2d1aa4288c222b247fc49ea0da03c126c051e079\"\u003e2d1aa4288c222b247fc49ea0da03c126c051e079\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/googleapis/google-cloud-python/commit/f0841b187388e1a63dcc258d48497b4356a60f3a\"\u003e\u003ccode\u003ef0841b1\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260217T210947Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15573\"\u003e#15573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd22688dd38fffffeebdb8590541c79a4d5995c2\"\u003e\u003ccode\u003efd22688\u003c/code\u003e\u003c/a\u003e chore: librarian onboard pull request: 20260218T181744Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15579\"\u003e#15579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/930dc0fd0425a221cf30b9b2e68a69726a3864ec\"\u003e\u003ccode\u003e930dc0f\u003c/code\u003e\u003c/a\u003e docs: update the list of available APIs (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15571\"\u003e#15571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/085a9fa86d6e4189b5dc495712457391d3a8575f\"\u003e\u003ccode\u003e085a9fa\u003c/code\u003e\u003c/a\u003e chores: add .repo-metadata.json for google-cloud-vectorsearch (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15574\"\u003e#15574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4ca6f9e2f825c185d092f9879c05098659b1a871\"\u003e\u003ccode\u003e4ca6f9e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260218T081656Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15577\"\u003e#15577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e1b43528a2848c91a53b907474a7f787208995bf\"\u003e\u003ccode\u003ee1b4352\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-api-core into packages/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5f4fbded13aaf8e81b813297370038a259315d2c\"\u003e\u003ccode\u003e5f4fbde\u003c/code\u003e\u003c/a\u003e chore: revert changes to scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/485bd6063b5143d287f8f1e8cbc5526c4c242ac0\"\u003e\u003ccode\u003e485bd60\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/452f5d8b33ebce54d229512855a34ca923040205\"\u003e\u003ccode\u003e452f5d8\u003c/code\u003e\u003c/a\u003e chore: update librarian state.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d8e1a9abf6a581d3bc10bef2cfba788e3bdc3baa\"\u003e\u003ccode\u003ed8e1a9a\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.188.0 to 2.190.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.190.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003e2.190.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eappengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclouddeploy:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econnectors:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtaineranalysis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatafusion:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalabeling:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalineage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edomains:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeventarc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efcm:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkebackup:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ekmsinventory:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedidentities:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emerchantapi:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003enetworkmanagement:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eondemandscanning:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esaasservicemgmt:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecretmanager:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecurityposture:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estorage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ethreatintelligence:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewalletobjects:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eyoutube:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edatastore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirestore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erun:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/7c2030732a0b3e9e75e575b93b0275d170924880\"\u003e\u003ccode\u003e7c20307\u003c/code\u003e\u003c/a\u003e chore(main): release 2.190.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e\u003ccode\u003e49fd63f\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/9071631e9d20162399010b3e5244db7899d19bb8\"\u003e\u003ccode\u003e9071631\u003c/code\u003e\u003c/a\u003e chore: replace old python teams with cloud-sdk-python-team (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/eb9f5ad275a1a7864a26d6d85c306754bb3e2188\"\u003e\u003ccode\u003eeb9f5ad\u003c/code\u003e\u003c/a\u003e chore(main): release 2.189.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2704\"\u003e#2704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/ca1c9b5649da9abf659a1d15f4d417868a376670\"\u003e\u003ccode\u003eca1c9b5\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2712\"\u003e#2712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/049bdb69d976ff4e941fb3ee503e793caca5bf39\"\u003e\u003ccode\u003e049bdb6\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/fcb5ca7a36ac0e409fb3067164d878417d35ea56\"\u003e\u003ccode\u003efcb5ca7\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2703\"\u003e#2703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.188.0...v2.190.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-artifact-registry` from 1.19.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-artifact-registry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-artifact-registry: v1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ev1.20.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DIRSUM_SHA256 hash type (PiperOrigin-RevId: 865552557) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e9\"\u003e5371e8e9\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/googleapis/google-cloud-python/commit/0e4866eb2bc3fdc2c5f5d18d2c3347d225be6b1b\"\u003e\u003ccode\u003e0e4866e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260212T081040Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15564\"\u003e#15564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b483e9218e14736a27c6547c2da15a9ca74c0db9\"\u003e\u003ccode\u003eb483e92\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T172749Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15560\"\u003e#15560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e931dfba1d504ac2ffbd48a7f4abdcc158\"\u003e\u003ccode\u003e5371e8e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T082017Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15556\"\u003e#15556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e04fc9c11cf32fac41d37fd599c555650b47d4ba\"\u003e\u003ccode\u003ee04fc9c\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-runtimeconfig into pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/973729baee55a2f2c16c7bb1015f2880b21d58c9\"\u003e\u003ccode\u003e973729b\u003c/code\u003e\u003c/a\u003e clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/a6b40b3154a526d35267abafde4c64aa86bcc27c\"\u003e\u003ccode\u003ea6b40b3\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T165038Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15554\"\u003e#15554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/99a1284fe05e38e313d6504409574536674a32b5\"\u003e\u003ccode\u003e99a1284\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T151820Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15553\"\u003e#15553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/151eeae8c09995b3f64fed6c692e79e2b25d8147\"\u003e\u003ccode\u003e151eeae\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-test-utils into package...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/69d956e66190e10f1a99980350429caa8b2aefa0\"\u003e\u003ccode\u003e69d956e\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/0b70fa81d1d7dfc0427490e7840e57d42dea5758\"\u003e\u003ccode\u003e0b70fa8\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-pubsub` from 2.34.0 to 2.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/releases\"\u003egoogle-cloud-pubsub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-pubsub 2.35.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (PiperOrigin-RevId: 840763233) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd tags documentation links to Pub/Sub resource tags fields (PiperOrigin-RevId: 845891076) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/blob/main/CHANGELOG.md\"\u003egoogle-cloud-pubsub's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd tags documentation links to Pub/Sub resource tags fields (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\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/googleapis/python-pubsub/commit/63796ff3def3658ea22d4c2b734c08ad5ed94e72\"\u003e\u003ccode\u003e63796ff\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260205T215747Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1581\"\u003e#1581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e\u003ccode\u003e0701113\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260205T210552Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1580\"\u003e#1580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/e4b4f5228f153d3263ff853e690b88f28d770c1d\"\u003e\u003ccode\u003ee4b4f52\u003c/code\u003e\u003c/a\u003e chore: bump dependencies manually (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1579\"\u003e#1579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/6fd28b04d0a572a31528aee74cb4484a7e07dffa\"\u003e\u003ccode\u003e6fd28b0\u003c/code\u003e\u003c/a\u003e build(deps): bump protobuf from 6.32.1 to 6.33.5 in /samples/snippets (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1577\"\u003e#1577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/0e0eda944bf97e9c934f4fce9a72cf7ab66b8ad7\"\u003e\u003ccode\u003e0e0eda9\u003c/code\u003e\u003c/a\u003e chore: Migrate gsutil usage to gcloud storage (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1574\"\u003e#1574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/13f8341478ea97f6ed8b5e7f7e7f75500da665c9\"\u003e\u003ccode\u003e13f8341\u003c/code\u003e\u003c/a\u003e Chore: Remove Py3.7+3.8 Support (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1573\"\u003e#1573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-compute` from 1.43.0 to 1.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-compute's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-compute: v1.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ev1.44.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compute Engine v1 API to revision 20260106 (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/1148\"\u003e#1148\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d1ce4d35\"\u003ed1ce4d35\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/googleapis/google-cloud-python/commit/2c66d48f374bf39a29d4bd6cdba922ce31b499c8\"\u003e\u003ccode\u003e2c66d48\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260226T081244Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15616\"\u003e#15616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd4da88078602585c14ad8de307e59bdbbfa6a53\"\u003e\u003ccode\u003efd4da88\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-logging into packages/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/717c1581c214d4a445838c66915a5745ad6a30c0\"\u003e\u003ccode\u003e717c158\u003c/code\u003e\u003c/a\u003e tests: add system test dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/7597cca2aebef327023e898106a8f8259c4702eb\"\u003e\u003ccode\u003e7597cca\u003c/code\u003e\u003c/a\u003e tests: enable system tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e0426dc7825f600c7ed5e27ed78e264f51c41942\"\u003e\u003ccode\u003ee0426dc\u003c/code\u003e\u003c/a\u003e chore(multiple): format handwritten code (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15617\"\u003e#15617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ff062e420f80eb1b33ff0767c74074539836bff6\"\u003e\u003ccode\u003eff062e4\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into migration.python-logging.migration.2026-02-20_16-32-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/72db7952c8e529a4acfca00f9069e16704b8fc38\"\u003e\u003ccode\u003e72db795\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/80a84800e66bb8d4ede5d0b52a2eb416e7645d7c\"\u003e\u003ccode\u003e80a8480\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2a35c6add8453e5bb2e5cb48db99a75d125931e4\"\u003e\u003ccode\u003e2a35c6a\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6f2ce049f3b2030548a1210938be05379a9abfb8\"\u003e\u003ccode\u003e6f2ce04\u003c/code\u003e\u003c/a\u003e chore: format using ruff\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-storage` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-storage/releases\"\u003egoogle-cloud-storage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-storage 3.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-storage/compare/v3.8.0...v3.9.0\"\u003e3.9.0\u003c/a\u003e (2026-02-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eupdate generation for MRD (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1730\"\u003e#1730\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/08bc7082\"\u003e08bc7082\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd get_object method for async grpc client (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1735\"\u003e#1735\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/0e5ec29b\"\u003e0e5ec29b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for reads comparing standard (regional) vs rapid (zonal) buckets. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1697\"\u003e#1697\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/1917649f\"\u003e1917649f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for opening via \u003ccode\u003ewrite_handle\u003c/code\u003e and fix \u003ccode\u003ewrite_handle\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1715\"\u003e#1715\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2bc15fa5\"\u003e2bc15fa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1705\"\u003e#1705\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd context manager to mrd (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1724\"\u003e#1724\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/5ac2808a\"\u003e5ac2808a\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove Zonal Buckets features of \u003ccode\u003e_experimental\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1728\"\u003e#1728\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/74c9ecc5\"\u003e74c9ecc5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd default user agent for grpc (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1726\"\u003e#1726\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/7b319469\"\u003e7b319469\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose finalized_time in blob.py applicable for GET_OBJECT in ZB (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1719\"\u003e#1719\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/8e21a7fe\"\u003e8e21a7fe\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose \u003ccode\u003eDELETE_OBJECT\u003c/code\u003e   in \u003ccode\u003eAsyncGrpcClient\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1718\"\u003e#1718\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/c8dd7a0b\"\u003ec8dd7a0b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esend \u003ccode\u003euser_agent\u003c/code\u003e to grpc channel (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1712\"\u003e#1712\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/cdb2486b\"\u003ecdb2486b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eintegrate writes strategy and appendable object writer (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1695\"\u003e#1695\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/dbd162b3\"\u003edbd162b3\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for writes comparing standard (r...\n\n_Description has been truncated_","html_url":"https://github.com/cboneti/cluster-toolkit/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cboneti%2Fcluster-toolkit/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"},{"uuid":"4006931457","node_id":"PR_kwDOGLHsfc7HHPdU","number":5296,"state":"open","title":"Bump the ofe-minor-and-patch-updates group in /community/front-end/ofe with 20 updates","user":"dependabot[bot]","labels":["dependencies","python","release-chore","external"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T11:06:26.000Z","updated_at":"2026-03-02T05:18:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ofe-minor-and-patch-updates","update_count":20,"packages":[{"name":"asgiref","old_version":"3.11.0","new_version":"3.11.1","repository_url":"https://github.com/django/asgiref"},{"name":"astroid","old_version":"4.0.3","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"django-allauth","old_version":"65.14.0","new_version":"65.14.3","repository_url":"https://github.com/sponsors/pennersr"},{"name":"django-crispy-forms","old_version":"2.5","new_version":"2.6","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"filelock","old_version":"3.20.3","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"google-api-core","old_version":"2.29.0","new_version":"2.30.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-api-python-client","old_version":"2.188.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-cloud-artifact-registry","old_version":"1.19.0","new_version":"1.20.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-pubsub","old_version":"2.34.0","new_version":"2.35.0","repository_url":"https://github.com/googleapis/python-pubsub"},{"name":"google-cloud-compute","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-storage","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"grpcio","old_version":"1.76.0","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.76.0","new_version":"1.78.0"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"proto-plus","old_version":"1.27.0","new_version":"1.27.1","repository_url":"https://github.com/googleapis/proto-plus-python"},{"name":"pylint","old_version":"4.0.4","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"uvicorn","old_version":"0.40.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xmltodict","old_version":"1.0.2","new_version":"1.0.4","repository_url":"https://github.com/martinblech/xmltodict"}],"path":"/community/front-end/ofe","ecosystem":"pip"},"body":"Bumps the ofe-minor-and-patch-updates group in /community/front-end/ofe with 20 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [asgiref](https://github.com/django/asgiref) | `3.11.0` | `3.11.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.3` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [django-allauth](https://github.com/sponsors/pennersr) | `65.14.0` | `65.14.3` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `2.5` | `2.6` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.24.3` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.29.0` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.188.0` | `2.190.0` |\n| [google-cloud-artifact-registry](https://github.com/googleapis/google-cloud-python) | `1.19.0` | `1.20.0` |\n| [google-cloud-pubsub](https://github.com/googleapis/python-pubsub) | `2.34.0` | `2.35.0` |\n| [google-cloud-compute](https://github.com/googleapis/google-cloud-python) | `1.43.0` | `1.44.0` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.8.0` | `3.9.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.76.0` | `1.78.0` |\n| [grpcio-status](https://grpc.io) | `1.76.0` | `1.78.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [proto-plus](https://github.com/googleapis/proto-plus-python) | `1.27.0` | `1.27.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.4` | `4.0.5` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.40.0` | `0.41.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.1.0` | `2.1.1` |\n| [xmltodict](https://github.com/martinblech/xmltodict) | `1.0.2` | `1.0.4` |\n\nUpdates `asgiref` from 3.11.0 to 3.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django/asgiref/blob/main/CHANGELOG.txt\"\u003easgiref's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.1 (2026-02-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSECURITY FIX CVE-2025-14550: There was a potential DoS vector for users of\nthe \u003ccode\u003easgiref.wsgi.WsgiToAsgi\u003c/code\u003e adapter. Malicious requests, including an unreasonably\nlarge number of values for the same header, could lead to resource exhaustion\nwhen building the WSGI environment.\u003c/p\u003e\n\u003cp\u003eTo mitigate this, the algorithm is changed to be more efficient, and\n\u003ccode\u003eWsgiToAsgi\u003c/code\u003e gains a new optional \u003ccode\u003eduplicate_header_limit\u003c/code\u003e parameter,\nwhich defaults to 100. This specifies the number of times a single header may\nbe repeated before the request is rejected as malformed.\u003c/p\u003e\n\u003cp\u003eYou may override \u003ccode\u003eduplicate_header_limit\u003c/code\u003e when configuring your application::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapplication = WsgiToAsgi(wsgi_app, duplicate_header_limit=200)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSet \u003ccode\u003eduplicate_header_limit=None\u003c/code\u003e if you wish to disable this check.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a regression in 3.11.0 in \u003ccode\u003esync_to_async\u003c/code\u003e when wrapping a callable\nwith an attribute named \u003ccode\u003econtext\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/537\"\u003e#537\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/d97a7339524c89798c510de6c142b663fe40400c\"\u003e\u003ccode\u003ed97a733\u003c/code\u003e\u003c/a\u003e Releasing 3.11.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/a50968a52a50a0bcb0f339ba41e8b52cbf74c604\"\u003e\u003ccode\u003ea50968a\u003c/code\u003e\u003c/a\u003e CVE-2025-14550: Fixed duplicate header handling in WsgiToAsgi.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/0fb85a4352b079ab8191cc593865bd99c987141f\"\u003e\u003ccode\u003e0fb85a4\u003c/code\u003e\u003c/a\u003e Fixed sync_to_async wrapping callables with attribute named \u003ccode\u003econtext\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/2b28409ab83b3e4cf6fed9019403b71f8d7d1c51\"\u003e\u003ccode\u003e2b28409\u003c/code\u003e\u003c/a\u003e Updated Hypercorn homepage URL (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django/asgiref/compare/3.11.0...3.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.3 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth` from 65.14.0 to 65.14.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 2.5 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\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/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/dc8007e35f3387cca3e799a6fc93226a5a808bdc\"\u003e\u003ccode\u003edc8007e\u003c/code\u003e\u003c/a\u003e Release 2.6. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/792c6717388aef8fa4b8482f6858048afaa6803f\"\u003e\u003ccode\u003e792c671\u003c/code\u003e\u003c/a\u003e Updated versions in pyproject.toml. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/af31d24c681a90b5217df66d47a6da292baff89c\"\u003e\u003ccode\u003eaf31d24\u003c/code\u003e\u003c/a\u003e Fix incorrect reverse in crispy tag docs (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/fb7acdcbb861a5194e26739cf5e2f0ac16d4b30c\"\u003e\u003ccode\u003efb7acdc\u003c/code\u003e\u003c/a\u003e Don't crash when using the crispy template tag and missing variables (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/d30a0ab6e3f180c9ca63636a45e261b0815ce0ac\"\u003e\u003ccode\u003ed30a0ab\u003c/code\u003e\u003c/a\u003e Dropped unsupported Django versions. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/3f5b88da2a305f79a8cae5f6bd54475c22535652\"\u003e\u003ccode\u003e3f5b88d\u003c/code\u003e\u003c/a\u003e Improved |as_crispy_field error message. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/6a97c68d7465a75db57108d50959f98aabd2ec1b\"\u003e\u003ccode\u003e6a97c68\u003c/code\u003e\u003c/a\u003e Fix typos in some files (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.5...2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.20.3 to 3.24.3\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\u003e3.24.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries 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/492\"\u003etox-dev/filelock#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire 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/495\"\u003etox-dev/filelock#495\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/3.24.2...3.24.3\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.2...3.24.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework 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/489\"\u003etox-dev/filelock#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test 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/490\"\u003etox-dev/filelock#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race 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/491\"\u003etox-dev/filelock#491\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/3.24.1...3.24.2\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.1...3.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition 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/488\"\u003etox-dev/filelock#488\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/3.24.0...3.24.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.0...3.24.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS 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/480\"\u003etox-dev/filelock#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor 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/482\"\u003etox-dev/filelock#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage 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/484\"\u003etox-dev/filelock#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACL inheritance 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/483\"\u003etox-dev/filelock#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock 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/481\"\u003etox-dev/filelock#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire 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/487\"\u003etox-dev/filelock#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration 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/486\"\u003etox-dev/filelock#486\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/3.23.0...3.24.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.23.0...3.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.23.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries 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/478\"\u003etox-dev/filelock#478\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\u003chr /\u003e\n\u003cp\u003e3.24.3 (2026-02-19)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire :pr:\u003ccode\u003e495\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries :pr:\u003ccode\u003e492\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.2 (2026-02-16)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race :pr:\u003ccode\u003e491\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test :pr:\u003ccode\u003e490\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework :pr:\u003ccode\u003e489\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.1 (2026-02-15)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition :pr:\u003ccode\u003e488\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/68\"\u003e#68\u003c/a\u003e) :pr:\u003ccode\u003e486\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/309\"\u003e#309\u003c/a\u003e) :pr:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock :pr:\u003ccode\u003e481\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACLs (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/378\"\u003e#378\u003c/a\u003e) :pr:\u003ccode\u003e483\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage :pr:\u003ccode\u003e484\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor :pr:\u003ccode\u003e482\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS :pr:\u003ccode\u003e480\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.23.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: move from Unlicense to MIT :pr:\u003ccode\u003e479\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries :pr:\u003ccode\u003e478\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.22.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): skip stale detection on Windows :pr:\u003ccode\u003e477\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): detect and break stale locks :pr:\u003ccode\u003e476\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b34b3df34b8a6a6c7739483283ef40891d5ddbda\"\u003e\u003ccode\u003eb34b3df\u003c/code\u003e\u003c/a\u003e Release 3.24.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e266937a96be84181c8e7464ad1f567b70cf99b6\"\u003e\u003ccode\u003ee266937\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e65c3b836a90e09d27abfe3855bba4984b85a115\"\u003e\u003ccode\u003ee65c3b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a67ae005e57aa67b6026af3122a092f73aff69b6\"\u003e\u003ccode\u003ea67ae00\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): add trailing blank line after changelog entries (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/db3e05a5ea4dcb6fa96bad3dd033881a6dfd2014\"\u003e\u003ccode\u003edb3e05a\u003c/code\u003e\u003c/a\u003e Release 3.24.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ab6b90e809ebd9187ee77ce09f97bd5dce102a39\"\u003e\u003ccode\u003eab6b90e\u003c/code\u003e\u003c/a\u003e 🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/98b4ee96a46514beea08a2c90eca4ee5e1a4c5b2\"\u003e\u003ccode\u003e98b4ee9\u003c/code\u003e\u003c/a\u003e 🐛 fix(test): resolve flaky write non-starvation test (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ef15f6bc106f197711850f18a281fd87bd7bedff\"\u003e\u003ccode\u003eef15f6b\u003c/code\u003e\u003c/a\u003e 📝 docs: restructure using Diataxis framework (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0b2f65ba65b3241a0d273a23bd729601e3ebe541\"\u003e\u003ccode\u003e0b2f65b\u003c/code\u003e\u003c/a\u003e Release 3.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/abccdba2fb1532245625139f28dabf42b31a19a3\"\u003e\u003ccode\u003eabccdba\u003c/code\u003e\u003c/a\u003e 🐛 fix(soft): resolve Windows deadlock and test race condition (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.3...3.24.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-core` from 2.29.0 to 2.30.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-api-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-api-core: v2.30.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003e2.30.0\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve exception cause (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c7fc19303e0f1d7357109a73c13f875a5ced7606\"\u003ec7fc19303e0f1d7357109a73c13f875a5ced7606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erequire Python ≥ 3.9, protobuf ≥ 4.25.8 (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2d1aa4288c222b247fc49ea0da03c126c051e079\"\u003e2d1aa4288c222b247fc49ea0da03c126c051e079\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/googleapis/google-cloud-python/commit/f0841b187388e1a63dcc258d48497b4356a60f3a\"\u003e\u003ccode\u003ef0841b1\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260217T210947Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15573\"\u003e#15573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd22688dd38fffffeebdb8590541c79a4d5995c2\"\u003e\u003ccode\u003efd22688\u003c/code\u003e\u003c/a\u003e chore: librarian onboard pull request: 20260218T181744Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15579\"\u003e#15579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/930dc0fd0425a221cf30b9b2e68a69726a3864ec\"\u003e\u003ccode\u003e930dc0f\u003c/code\u003e\u003c/a\u003e docs: update the list of available APIs (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15571\"\u003e#15571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/085a9fa86d6e4189b5dc495712457391d3a8575f\"\u003e\u003ccode\u003e085a9fa\u003c/code\u003e\u003c/a\u003e chores: add .repo-metadata.json for google-cloud-vectorsearch (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15574\"\u003e#15574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4ca6f9e2f825c185d092f9879c05098659b1a871\"\u003e\u003ccode\u003e4ca6f9e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260218T081656Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15577\"\u003e#15577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e1b43528a2848c91a53b907474a7f787208995bf\"\u003e\u003ccode\u003ee1b4352\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-api-core into packages/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5f4fbded13aaf8e81b813297370038a259315d2c\"\u003e\u003ccode\u003e5f4fbde\u003c/code\u003e\u003c/a\u003e chore: revert changes to scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/485bd6063b5143d287f8f1e8cbc5526c4c242ac0\"\u003e\u003ccode\u003e485bd60\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/452f5d8b33ebce54d229512855a34ca923040205\"\u003e\u003ccode\u003e452f5d8\u003c/code\u003e\u003c/a\u003e chore: update librarian state.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d8e1a9abf6a581d3bc10bef2cfba788e3bdc3baa\"\u003e\u003ccode\u003ed8e1a9a\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.188.0 to 2.190.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.190.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003e2.190.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eappengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclouddeploy:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econnectors:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtaineranalysis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatafusion:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalabeling:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalineage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edomains:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeventarc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efcm:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkebackup:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ekmsinventory:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedidentities:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emerchantapi:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003enetworkmanagement:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eondemandscanning:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esaasservicemgmt:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecretmanager:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecurityposture:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estorage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ethreatintelligence:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewalletobjects:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eyoutube:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edatastore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirestore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erun:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/7c2030732a0b3e9e75e575b93b0275d170924880\"\u003e\u003ccode\u003e7c20307\u003c/code\u003e\u003c/a\u003e chore(main): release 2.190.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e\u003ccode\u003e49fd63f\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/9071631e9d20162399010b3e5244db7899d19bb8\"\u003e\u003ccode\u003e9071631\u003c/code\u003e\u003c/a\u003e chore: replace old python teams with cloud-sdk-python-team (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/eb9f5ad275a1a7864a26d6d85c306754bb3e2188\"\u003e\u003ccode\u003eeb9f5ad\u003c/code\u003e\u003c/a\u003e chore(main): release 2.189.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2704\"\u003e#2704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/ca1c9b5649da9abf659a1d15f4d417868a376670\"\u003e\u003ccode\u003eca1c9b5\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2712\"\u003e#2712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/049bdb69d976ff4e941fb3ee503e793caca5bf39\"\u003e\u003ccode\u003e049bdb6\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/fcb5ca7a36ac0e409fb3067164d878417d35ea56\"\u003e\u003ccode\u003efcb5ca7\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2703\"\u003e#2703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.188.0...v2.190.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-artifact-registry` from 1.19.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-artifact-registry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-artifact-registry: v1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ev1.20.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DIRSUM_SHA256 hash type (PiperOrigin-RevId: 865552557) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e9\"\u003e5371e8e9\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/googleapis/google-cloud-python/commit/0e4866eb2bc3fdc2c5f5d18d2c3347d225be6b1b\"\u003e\u003ccode\u003e0e4866e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260212T081040Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15564\"\u003e#15564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b483e9218e14736a27c6547c2da15a9ca74c0db9\"\u003e\u003ccode\u003eb483e92\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T172749Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15560\"\u003e#15560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e931dfba1d504ac2ffbd48a7f4abdcc158\"\u003e\u003ccode\u003e5371e8e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T082017Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15556\"\u003e#15556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e04fc9c11cf32fac41d37fd599c555650b47d4ba\"\u003e\u003ccode\u003ee04fc9c\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-runtimeconfig into pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/973729baee55a2f2c16c7bb1015f2880b21d58c9\"\u003e\u003ccode\u003e973729b\u003c/code\u003e\u003c/a\u003e clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/a6b40b3154a526d35267abafde4c64aa86bcc27c\"\u003e\u003ccode\u003ea6b40b3\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T165038Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15554\"\u003e#15554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/99a1284fe05e38e313d6504409574536674a32b5\"\u003e\u003ccode\u003e99a1284\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T151820Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15553\"\u003e#15553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/151eeae8c09995b3f64fed6c692e79e2b25d8147\"\u003e\u003ccode\u003e151eeae\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-test-utils into package...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/69d956e66190e10f1a99980350429caa8b2aefa0\"\u003e\u003ccode\u003e69d956e\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/0b70fa81d1d7dfc0427490e7840e57d42dea5758\"\u003e\u003ccode\u003e0b70fa8\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-pubsub` from 2.34.0 to 2.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/releases\"\u003egoogle-cloud-pubsub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-pubsub 2.35.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (PiperOrigin-RevId: 840763233) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd tags documentation links to Pub/Sub resource tags fields (PiperOrigin-RevId: 845891076) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/blob/main/CHANGELOG.md\"\u003egoogle-cloud-pubsub's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd tags documentation links to Pub/Sub resource tags fields (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\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/googleapis/python-pubsub/commit/63796ff3def3658ea22d4c2b734c08ad5ed94e72\"\u003e\u003ccode\u003e63796ff\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260205T215747Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1581\"\u003e#1581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e\u003ccode\u003e0701113\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260205T210552Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1580\"\u003e#1580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/e4b4f5228f153d3263ff853e690b88f28d770c1d\"\u003e\u003ccode\u003ee4b4f52\u003c/code\u003e\u003c/a\u003e chore: bump dependencies manually (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1579\"\u003e#1579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/6fd28b04d0a572a31528aee74cb4484a7e07dffa\"\u003e\u003ccode\u003e6fd28b0\u003c/code\u003e\u003c/a\u003e build(deps): bump protobuf from 6.32.1 to 6.33.5 in /samples/snippets (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1577\"\u003e#1577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/0e0eda944bf97e9c934f4fce9a72cf7ab66b8ad7\"\u003e\u003ccode\u003e0e0eda9\u003c/code\u003e\u003c/a\u003e chore: Migrate gsutil usage to gcloud storage (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1574\"\u003e#1574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/13f8341478ea97f6ed8b5e7f7e7f75500da665c9\"\u003e\u003ccode\u003e13f8341\u003c/code\u003e\u003c/a\u003e Chore: Remove Py3.7+3.8 Support (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1573\"\u003e#1573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-compute` from 1.43.0 to 1.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-compute's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-compute: v1.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ev1.44.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compute Engine v1 API to revision 20260106 (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/1148\"\u003e#1148\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d1ce4d35\"\u003ed1ce4d35\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/googleapis/google-cloud-python/commit/2c66d48f374bf39a29d4bd6cdba922ce31b499c8\"\u003e\u003ccode\u003e2c66d48\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260226T081244Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15616\"\u003e#15616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd4da88078602585c14ad8de307e59bdbbfa6a53\"\u003e\u003ccode\u003efd4da88\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-logging into packages/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/717c1581c214d4a445838c66915a5745ad6a30c0\"\u003e\u003ccode\u003e717c158\u003c/code\u003e\u003c/a\u003e tests: add system test dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/7597cca2aebef327023e898106a8f8259c4702eb\"\u003e\u003ccode\u003e7597cca\u003c/code\u003e\u003c/a\u003e tests: enable system tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e0426dc7825f600c7ed5e27ed78e264f51c41942\"\u003e\u003ccode\u003ee0426dc\u003c/code\u003e\u003c/a\u003e chore(multiple): format handwritten code (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15617\"\u003e#15617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ff062e420f80eb1b33ff0767c74074539836bff6\"\u003e\u003ccode\u003eff062e4\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into migration.python-logging.migration.2026-02-20_16-32-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/72db7952c8e529a4acfca00f9069e16704b8fc38\"\u003e\u003ccode\u003e72db795\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/80a84800e66bb8d4ede5d0b52a2eb416e7645d7c\"\u003e\u003ccode\u003e80a8480\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2a35c6add8453e5bb2e5cb48db99a75d125931e4\"\u003e\u003ccode\u003e2a35c6a\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6f2ce049f3b2030548a1210938be05379a9abfb8\"\u003e\u003ccode\u003e6f2ce04\u003c/code\u003e\u003c/a\u003e chore: format using ruff\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-storage` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-storage/releases\"\u003egoogle-cloud-storage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-storage 3.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-storage/compare/v3.8.0...v3.9.0\"\u003e3.9.0\u003c/a\u003e (2026-02-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eupdate generation for MRD (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1730\"\u003e#1730\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/08bc7082\"\u003e08bc7082\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd get_object method for async grpc client (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1735\"\u003e#1735\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/0e5ec29b\"\u003e0e5ec29b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for reads comparing standard (regional) vs rapid (zonal) buckets. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1697\"\u003e#1697\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/1917649f\"\u003e1917649f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for opening via \u003ccode\u003ewrite_handle\u003c/code\u003e and fix \u003ccode\u003ewrite_handle\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1715\"\u003e#1715\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2bc15fa5\"\u003e2bc15fa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1705\"\u003e#1705\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd context manager to mrd (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1724\"\u003e#1724\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/5ac2808a\"\u003e5ac2808a\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove Zonal Buckets features of \u003ccode\u003e_experimental\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1728\"\u003e#1728\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/74c9ecc5\"\u003e74c9ecc5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd default user agent for grpc (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1726\"\u003e#1726\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/7b319469\"\u003e7b319469\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose finalized_time in blob.py applicable for GET_OBJECT in ZB (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1719\"\u003e#1719\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/8e21a7fe\"\u003e8e21a7fe\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose \u003ccode\u003eDELETE_OBJECT\u003c/code\u003e   in \u003ccode\u003eAsyncGrpcClient\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1718\"\u003e#1718\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/c8dd7a0b\"\u003ec8dd7a0b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esend \u003ccode\u003euser_agent\u003c/code\u003e to grpc channel (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1712\"\u003e#1712\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/cdb2486b\"\u003ecdb2486b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eintegrate writes strategy and appendable object writer (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1695\"\u003e#1695\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/dbd162b3\"\u003edbd162b3\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for writes comparing standard (regional) vs rapid (zonal) buckets. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1707\"\u003e#1707\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/dbe9d8b8\"\u003edbe9d8b8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd support for \u003ccode\u003egeneration=0\u003c/code\u003e to avoid overwriting existing objects and add \u003ccode\u003eis_stream_open\u003c/code\u003e support  (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1709\"\u003e#1709\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/ea0f5bf8\"\u003eea0f5bf8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd support for \u003ccode\u003egeneration=0\u003c/code\u003e to prevent overwriting existing objects (\u003ca href=\"https://github.com/googleapis/python-storage/commit/ea0f5bf8\"\u003eea0f5bf8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd \u003ccode\u003eis_stream_open\u003c/code\u003e property to AsyncAppendableObjectWriter for stream status check (\u003ca href=\"https://github.com/googleapis/python-storage/commit/ea0f5bf8\"\u003eea0f5bf8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ereceive eof while closing reads stream (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1733\"\u003e#1733\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2ef63396\"\u003e2ef63396\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eupdate write handle on every recv() (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1716\"\u003e#1716\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/5d9fafe1\"\u003e5d9fafe1\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eimplement requests_done method to signal end of requests in async streams. Gracefully close streams. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1700\"\u003e#1700\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/6c160794\"\u003e6c160794\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eimplement requests_done method to signal end of requests in async streams. Gracefully close streams. (\u003ca href=\"https://github.com/googleapis/python-storage/commit/6c160794\"\u003e6c160794\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003einsta...\n\n_Description has been truncated_","html_url":"https://github.com/GoogleCloudPlatform/cluster-toolkit/pull/5296","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcluster-toolkit/issues/5296","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5296/packages"},{"uuid":"3995853938","node_id":"PR_kwDOQvbths7GjzJ1","number":287,"state":"open","title":"chore(deps): bump the minor-and-patch group with 25 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-26T14:19:31.000Z","updated_at":"2026-02-26T14:19:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":25,"packages":[{"name":"openai","old_version":"2.18.0","new_version":"2.24.0","repository_url":"https://github.com/openai/openai-python"},{"name":"anthropic","old_version":"0.83.0","new_version":"0.84.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"google-ai-generativelanguage","old_version":"0.6.15","new_version":"0.10.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"langchain-openai","old_version":"1.1.9","new_version":"1.1.10","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-anthropic","old_version":"1.3.3","new_version":"1.3.4","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.2.14","new_version":"1.2.16","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"grpcio-status","old_version":"1.71.2","new_version":"1.78.0"},{"name":"prefect","old_version":"3.6.18","new_version":"3.6.19","repository_url":"https://github.com/PrefectHQ/prefect"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"astroid","old_version":"4.0.4","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"faker","old_version":"40.4.0","new_version":"40.5.1","repository_url":"https://github.com/joke2k/faker"},{"name":"fakeredis","old_version":"2.34.0","new_version":"2.34.1"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.133.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"langgraph-sdk","old_version":"0.3.8","new_version":"0.3.9","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.7.5","new_version":"0.7.7","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"msal","old_version":"1.34.0","new_version":"1.35.0","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"narwhals","old_version":"2.16.0","new_version":"2.17.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.17.8","new_version":"0.17.9","repository_url":"https://github.com/chrisguidry/docket"},{"name":"redis","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/redis/redis-py"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.47"},{"name":"typer","old_version":"0.24.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uuid-utils","old_version":"0.14.0","new_version":"0.14.1","repository_url":"https://github.com/aminalaee/uuid-utils"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openai](https://github.com/openai/openai-python) | `2.18.0` | `2.24.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.83.0` | `0.84.0` |\n| [google-ai-generativelanguage](https://github.com/googleapis/google-cloud-python) | `0.6.15` | `0.10.0` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.9` | `1.1.10` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.3.4` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.14` | `1.2.16` |\n| [grpcio-status](https://grpc.io) | `1.71.2` | `1.78.0` |\n| [prefect](https://github.com/PrefectHQ/prefect) | `3.6.18` | `3.6.19` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.4` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [faker](https://github.com/joke2k/faker) | `40.4.0` | `40.5.1` |\n| [fakeredis[lua]](https://github.com/cunla/fakeredis-py) | `2.34.0` | `2.34.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.133.1` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.3.2` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.3.8` | `0.3.9` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.5` | `0.7.7` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.34.0` | `1.35.0` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.16.0` | `2.17.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.17.8` | `0.17.9` |\n| [redis](https://github.com/redis/redis-py) | `7.2.0` | `7.2.1` |\n| [sqlalchemy[asyncio]](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.47` |\n| [typer](https://github.com/fastapi/typer) | `0.24.0` | `0.24.1` |\n| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.14.0` | `0.14.1` |\n\nUpdates `openai` from 2.18.0 to 2.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.24.0\u003c/h2\u003e\n\u003ch2\u003e2.24.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.23.0...v2.24.0\"\u003ev2.23.0...v2.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase (\u003ca href=\"https://github.com/openai/openai-python/commit/391deb99f6a92e51bffb25efd8dfe367d144bb9d\"\u003e391deb9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix phase enum (\u003ca href=\"https://github.com/openai/openai-python/commit/42ebf7c30b7e27a175c0d75fcf42c8dc858e56d6\"\u003e42ebf7c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e phase docs (\u003ca href=\"https://github.com/openai/openai-python/commit/7ddc61cd0f7825d5e7f3a10daf809135511d8d20\"\u003e7ddc61c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/openai/openai-python/commit/65af8fd8550e99236e3f4dcb035312441788157a\"\u003e65af8fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e refactor sse event parsing (\u003ca href=\"https://github.com/openai/openai-python/commit/23446008f06fb474d8c75d14a1bce26f4c5b95d8\"\u003e2344600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.23.0\u003c/h2\u003e\n\u003ch2\u003e2.23.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.22.0...v2.23.0\"\u003ev2.22.0...v2.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add gpt-realtime-1.5 and gpt-audio-1.5 model options to realtime calls (\u003ca href=\"https://github.com/openai/openai-python/commit/3300b61e1d5a34c9d28ec9cebbebd0de1fa93aa6\"\u003e3300b61\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/openai/openai-python/commit/6b441e2c43df60a773f62308e918d76b8eb3c4d3\"\u003e6b441e2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.22.0\u003c/h2\u003e\n\u003ch2\u003e2.22.0 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.21.0...v2.22.0\"\u003ev2.21.0...v2.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e websockets for responses api (\u003ca href=\"https://github.com/openai/openai-python/commit/c01f6fb0d55b7454f73c4904ea7a1954553085dc\"\u003ec01f6fb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/openai/openai-python/commit/cdb4315ee29d5260bb373625d74cb523b4e3859c\"\u003ecdb4315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/openai/openai-python/commit/91f4da80ec3dba5d3566961560dfd6feb9c2feb0\"\u003e91f4da8\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.24.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.23.0...v2.24.0\"\u003ev2.23.0...v2.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase (\u003ca href=\"https://github.com/openai/openai-python/commit/391deb99f6a92e51bffb25efd8dfe367d144bb9d\"\u003e391deb9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix phase enum (\u003ca href=\"https://github.com/openai/openai-python/commit/42ebf7c30b7e27a175c0d75fcf42c8dc858e56d6\"\u003e42ebf7c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e phase docs (\u003ca href=\"https://github.com/openai/openai-python/commit/7ddc61cd0f7825d5e7f3a10daf809135511d8d20\"\u003e7ddc61c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/openai/openai-python/commit/65af8fd8550e99236e3f4dcb035312441788157a\"\u003e65af8fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e refactor sse event parsing (\u003ca href=\"https://github.com/openai/openai-python/commit/23446008f06fb474d8c75d14a1bce26f4c5b95d8\"\u003e2344600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.23.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.22.0...v2.23.0\"\u003ev2.22.0...v2.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add gpt-realtime-1.5 and gpt-audio-1.5 model options to realtime calls (\u003ca href=\"https://github.com/openai/openai-python/commit/3300b61e1d5a34c9d28ec9cebbebd0de1fa93aa6\"\u003e3300b61\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/openai/openai-python/commit/6b441e2c43df60a773f62308e918d76b8eb3c4d3\"\u003e6b441e2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.22.0 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.21.0...v2.22.0\"\u003ev2.21.0...v2.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e websockets for responses api (\u003ca href=\"https://github.com/openai/openai-python/commit/c01f6fb0d55b7454f73c4904ea7a1954553085dc\"\u003ec01f6fb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/openai/openai-python/commit/cdb4315ee29d5260bb373625d74cb523b4e3859c\"\u003ecdb4315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/openai/openai-python/commit/91f4da80ec3dba5d3566961560dfd6feb9c2feb0\"\u003e91f4da8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/openai/openai-python/commit/656e3cab4a18262a49b961d41293367e45ee71b9\"\u003e\u003ccode\u003e656e3ca\u003c/code\u003e\u003c/a\u003e release: 2.24.0 (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2890\"\u003e#2890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/921c330d4baebb04bbdb8070e9ced539cf49d97a\"\u003e\u003ccode\u003e921c330\u003c/code\u003e\u003c/a\u003e release: 2.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/650ccd90dcad0ce23c06b95d8d07911f19d52513\"\u003e\u003ccode\u003e650ccd9\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/9e9a4f1712ec0ec637ca4f6e3f50e1647d268576\"\u003e\u003ccode\u003e9e9a4f1\u003c/code\u003e\u003c/a\u003e feat(api): add gpt-realtime-1.5 and gpt-audio-1.5 model options to realtime c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/588d239c1073442f982165d310f9ccf09f631f7c\"\u003e\u003ccode\u003e588d239\u003c/code\u003e\u003c/a\u003e chore(internal):  make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/481ff6ef4c050469fa971746fb14b675d90a2e56\"\u003e\u003ccode\u003e481ff6e\u003c/code\u003e\u003c/a\u003e release: 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/e273d622e85d7380f5ce715172c23d55ce8625a9\"\u003e\u003ccode\u003ee273d62\u003c/code\u003e\u003c/a\u003e feat(api): websockets for responses api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c612cfb2bbf8f119839c0625edee523dbf9f54d3\"\u003e\u003ccode\u003ec612cfb\u003c/code\u003e\u003c/a\u003e chore(internal): add request options to SSE classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/849c8df45c8d295604031edfbfcf7e5ce4699c5a\"\u003e\u003ccode\u003e849c8df\u003c/code\u003e\u003c/a\u003e docs(api): add batch size limit to file_batches parameter descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/5e5bc78aa1a8db86876635c786f127f242fdb0f1\"\u003e\u003ccode\u003e5e5bc78\u003c/code\u003e\u003c/a\u003e docs(api): update safety_identifier documentation in chat completions and res...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.18.0...v2.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.83.0 to 0.84.0\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\"\u003eanthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.84.0\u003c/h2\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erebrand to Claude SDK and streamline README (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b544058ab19e55e1c76a4ba9816205d1eedc630\"\u003e6b54405\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/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erebrand to Claude SDK and streamline README (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b544058ab19e55e1c76a4ba9816205d1eedc630\"\u003e6b54405\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/anthropics/anthropic-sdk-python/commit/49d639a671cb0ac30c767e8e1e68fdd5925205d5\"\u003e\u003ccode\u003e49d639a\u003c/code\u003e\u003c/a\u003e release: 0.84.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4d73b2159f7f3e88113a904f785de58ec4157045\"\u003e\u003ccode\u003e4d73b21\u003c/code\u003e\u003c/a\u003e feat(helpers): add conversion helpers for MCP tools, prompts, and resources (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0e4092173fc52d773675f8e3a4ced6a5e2f67c9f\"\u003e\u003ccode\u003e0e40921\u003c/code\u003e\u003c/a\u003e docs: rebrand to Claude SDK and streamline README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c3017a227c67377b862644feb463c0d8a1e9ddc9\"\u003e\u003ccode\u003ec3017a2\u003c/code\u003e\u003c/a\u003e chore(internal): simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/470fda9c14714117342c0491d6e436d158bbb4ab\"\u003e\u003ccode\u003e470fda9\u003c/code\u003e\u003c/a\u003e chore(internal): make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c30c72d710dea90437a73713296e76c12518c359\"\u003e\u003ccode\u003ec30c72d\u003c/code\u003e\u003c/a\u003e chore: add missing raw jsonl results method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9d9a5a1aab3aa67c665c39bbeed3fec298fc2e6a\"\u003e\u003ccode\u003e9d9a5a1\u003c/code\u003e\u003c/a\u003e chore(internal):  make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c28d2d50a5f5197839c36fb4741bee8cd1e976c1\"\u003e\u003ccode\u003ec28d2d5\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bb13f1ea6be3941342115fdb125e3fe225252071\"\u003e\u003ccode\u003ebb13f1e\u003c/code\u003e\u003c/a\u003e chore(internal): add request options to SSE classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ab0ccb990d098ef56c0367abcb0c745d7a58a99e\"\u003e\u003ccode\u003eab0ccb9\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-ai-generativelanguage` from 0.6.15 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/googleapis/google-cloud-python/releases\"\u003egoogle-ai-generativelanguage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.10.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.9.0...google-cloud-geminidataanalytics-v0.10.0\"\u003e0.10.0\u003c/a\u003e (2026-02-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ClarificationMessage, thought-signature, formatted-data (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for enum value THOUGHT in enum TextType is changed (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-netapp 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-netapp-v0.6.0...google-cloud-netapp-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate NetApp v1 API with Host Groups, Block Volumes, Cache Volumes, and Backup Restore This CL introduces several new features and enhancements to the NetApp API: - \u003cstrong\u003eHost Groups:\u003c/strong\u003e Added a new \u003ccode\u003eHostGroup\u003c/code\u003e resource to manage collections of hosts for Block Volume access. Includes full CRUD operations. - \u003cstrong\u003eBlock Volumes:\u003c/strong\u003e Enhanced the \u003ccode\u003eVolume\u003c/code\u003e resource to support \u003ccode\u003eISCSI\u003c/code\u003e protocol and \u003ccode\u003eBlockDevice\u003c/code\u003e configurations. - \u003cstrong\u003eCache Volumes:\u003c/strong\u003e Added \u003ccode\u003eCacheParameters\u003c/code\u003e to the \u003ccode\u003eVolume\u003c/code\u003e resource to support FlexCache volumes. - \u003cstrong\u003eBackup Restore:\u003c/strong\u003e Introduced a new \u003ccode\u003eRestoreBackupFiles\u003c/code\u003e RPC to restore individual files from a backup. - \u003cstrong\u003eCMEK for Backup Vaults:\u003c/strong\u003e Added fields to \u003ccode\u003eBackupVault\u003c/code\u003e to support Customer Managed Encryption Keys (CMEK). - \u003cstrong\u003eStorage Pool Type:\u003c/strong\u003e Added a \u003ccode\u003etype\u003c/code\u003e field to \u003ccode\u003eStoragePool\u003c/code\u003e to specify support for FILE, UNIFIED, or UNIFIED_LARGE_CAPACITY volumes. -   \u003cstrong\u003eLocation Metadata:\u003c/strong\u003e Added \u003ccode\u003ehas_ontap_proxy\u003c/code\u003e flag. -   Updated copyright year to 2026. (PiperOrigin-RevId: 856056649) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.8.0...google-cloud-geminidataanalytics-v0.9.0\"\u003e0.9.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded sync APIs for the CRUD operations of Data Agent (PiperOrigin-RevId: 855534426) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-backupdr 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-backupdr-v0.6.0...google-cloud-backupdr-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupConfigDetails\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new resource_definition \u003ccode\u003ebackupdr.googleapis.com/ResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003ePitrSettings\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupLocation\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsResponse\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsRequest\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new service \u003ccode\u003eBackupDrProtectionSummary\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrTemplateConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrPlanConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\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/googleapis/google-cloud-python/commit/c60ded47847b04b2536f19c1610b5592b7952d6a\"\u003e\u003ccode\u003ec60ded4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T181058Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15005\"\u003e#15005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c0e3e9d221c3b8cd6d99503fadbb8e643db1e325\"\u003e\u003ccode\u003ec0e3e9d\u003c/code\u003e\u003c/a\u003e chore: disable treat warnings as errors (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45d4cee9e0e48a209b2d9292be29a15125548458\"\u003e\u003ccode\u003e45d4cee\u003c/code\u003e\u003c/a\u003e docs(samples): Update BigQuery Storage Arrow samples batching logic (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14961\"\u003e#14961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45149baca6064be265db1b653abb405c298a2b41\"\u003e\u003ccode\u003e45149ba\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T162506Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15001\"\u003e#15001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d58a9ba338df3df1afca11e155fe449c32631179\"\u003e\u003ccode\u003ed58a9ba\u003c/code\u003e\u003c/a\u003e test: Add 'cryptography' 'cachetools' to test deps for bigquery-storage (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14999\"\u003e#14999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/10289465a87988b9bf35a85893f26ea372ad717b\"\u003e\u003ccode\u003e1028946\u003c/code\u003e\u003c/a\u003e feat: add v1 api for google-cloud-maintenance-api (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14998\"\u003e#14998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b3cb4de3ce50c3ec55af2b132d756252a32641f3\"\u003e\u003ccode\u003eb3cb4de\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260107T084051Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14995\"\u003e#14995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/17cc12897e6afdf3f3131531c50a8226a3f57c0f\"\u003e\u003ccode\u003e17cc128\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20251231T091651Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14991\"\u003e#14991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c353aa5bcc937ef9399c8efc90492dadbcf01aa2\"\u003e\u003ccode\u003ec353aa5\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20251219T024955Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14985\"\u003e#14985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f38453832a2bb0226c389c30df13d072d1642377\"\u003e\u003ccode\u003ef384538\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251217T215552Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-ai-generativelanguage-v0.6.15...google-ai-generativelanguage-v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-openai` from 1.1.9 to 1.1.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-openai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-openai==1.1.10\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.1.9\u003c/p\u003e\n\u003cp\u003erelease(openai): 1.1.10 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35292\"\u003e#35292\u003c/a\u003e)\nfeat(openai): support automatic server-side compaction (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35212\"\u003e#35212\u003c/a\u003e)\nfix(openai): add \u003ccode\u003emodel\u003c/code\u003e property (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35284\"\u003e#35284\u003c/a\u003e)\nfix(nomic,openai,perplexity): update pillow version to \u0026gt;= 12.1.1, \u0026lt;13.0.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35254\"\u003e#35254\u003c/a\u003e)\ndocs(openai): more nits (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35277\"\u003e#35277\u003c/a\u003e)\ndocs(openai): clarify reasoning config for openai-compatible endpoints (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35202\"\u003e#35202\u003c/a\u003e)\nfix(openai): gpt-5.2-pro Model Profile \u003ccode\u003estructured_output\u003c/code\u003e key fixed (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35216\"\u003e#35216\u003c/a\u003e)\nchore(openai): extend \u003ccode\u003emodel_token_mapping\u003c/code\u003e till \u003ccode\u003egpt-5.2\u003c/code\u003e for modelname_to_contextsize (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35214\"\u003e#35214\u003c/a\u003e)\nfix(openai): enhance error message for non-OpenAI embedding providers (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35252\"\u003e#35252\u003c/a\u003e)\nfix(openai): sanitize chat completions text content blocks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35217\"\u003e#35217\u003c/a\u003e)\nfix(openai): improve error message for null choices in OpenAI-compatible APIs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35236\"\u003e#35236\u003c/a\u003e)\nfeat(openrouter): add \u003ccode\u003elangchain-openrouter\u003c/code\u003e provider package (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35211\"\u003e#35211\u003c/a\u003e)\nchore: bump pillow from 11.3.0 to 12.1.1 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35177\"\u003e#35177\u003c/a\u003e)\nchore(deps): bump langsmith from 0.4.37 to 0.6.3 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35151\"\u003e#35151\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/langchain-ai/langchain/commit/6fe7845cd175b0029844dbb1d2cc0f06fec6bef4\"\u003e\u003ccode\u003e6fe7845\u003c/code\u003e\u003c/a\u003e release(openai): 1.1.10 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35292\"\u003e#35292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/ba3ad67328fdfc5f093e6d08465890d05d483c28\"\u003e\u003ccode\u003eba3ad67\u003c/code\u003e\u003c/a\u003e fix(core): preserve index and timestamp fields when merging (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34731\"\u003e#34731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0a561244f5aacc863d73accce9dc8e4d52f9131f\"\u003e\u003ccode\u003e0a56124\u003c/code\u003e\u003c/a\u003e docs(core): add security warnings and best practices for deserialization (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35\"\u003e#35\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/f7dbdab5bad857ecc35a45ecefb85c4aa929b681\"\u003e\u003ccode\u003ef7dbdab\u003c/code\u003e\u003c/a\u003e docs: fix docstring inaccuracies and update outdated LangSmith URLs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35283\"\u003e#35283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/8f1bc0d3ae0a089df06a3a99ee11b8fb142568b3\"\u003e\u003ccode\u003e8f1bc0d\u003c/code\u003e\u003c/a\u003e feat(openai): support automatic server-side compaction (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35212\"\u003e#35212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/32c6ab30332ff45d6bdb5ef63879faef1de38048\"\u003e\u003ccode\u003e32c6ab3\u003c/code\u003e\u003c/a\u003e fix(openai): add \u003ccode\u003emodel\u003c/code\u003e property (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35284\"\u003e#35284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/4150bb513fbe5c9cda14446fc8db88af2d92fec5\"\u003e\u003ccode\u003e4150bb5\u003c/code\u003e\u003c/a\u003e fix(mistralai): update test (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35270\"\u003e#35270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/dba5266fa944e51eecf1e83184a6cf50e97f9d34\"\u003e\u003ccode\u003edba5266\u003c/code\u003e\u003c/a\u003e chore: bump langchainhub from 0.1.18 to 0.1.21 in /libs/langchain in the lang...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/338fd021fe86ee79c8294409c3204cdc2d83f597\"\u003e\u003ccode\u003e338fd02\u003c/code\u003e\u003c/a\u003e chore: bump transformers from 5.1.0 to 5.2.0 in /libs/text-splitters in the o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/c997955bf3b76e5fe5c5e05648c8978c2320d9c4\"\u003e\u003ccode\u003ec997955\u003c/code\u003e\u003c/a\u003e chore(infra): updates for openrouter/ollama (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35278\"\u003e#35278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-openai==1.1.9...langchain-openai==1.1.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-anthropic` from 1.3.3 to 1.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-anthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-anthropic==1.3.4\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.3\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\nfix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\nfix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\nrevert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\nfix(anthropic): replace retired model IDs in tests and docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35365\"\u003e#35365\u003c/a\u003e)\nfeat(anthropic): add ChatAnthropicBedrock wrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35091\"\u003e#35091\u003c/a\u003e)\nfix(model-profiles): sort generated profiles by model ID for stable diffs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35344\"\u003e#35344\u003c/a\u003e)\nfix(anthropic): set max input tokens based on 1m context beta header (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35341\"\u003e#35341\u003c/a\u003e)\nchore: bump model profiles (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35294\"\u003e#35294\u003c/a\u003e)\nfeat(anthropic): add User-Agent header for Anthropic API calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35268\"\u003e#35268\u003c/a\u003e)\nchore(anthropic): add version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35293\"\u003e#35293\u003c/a\u003e)\nfix(anthropic): hoist cache_control from tool_result content sub-blocks to tool_result level (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35126\"\u003e#35126\u003c/a\u003e)\nchore(deps): bump langsmith from 0.4.43 to 0.6.3 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35150\"\u003e#35150\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/langchain-ai/langchain/commit/4ffb584ddf09440184dda63d11187b0bdd2b63b2\"\u003e\u003ccode\u003e4ffb584\u003c/code\u003e\u003c/a\u003e release(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/cdb9742511d57b8eb3d37f93d115ae9b4d60dba4\"\u003e\u003ccode\u003ecdb9742\u003c/code\u003e\u003c/a\u003e fix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0b975d4d1ba532d4da16af222824951aeabba9d6\"\u003e\u003ccode\u003e0b975d4\u003c/code\u003e\u003c/a\u003e chore: bump the other-deps group across 3 directories with 2 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35407\"\u003e#35407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2d1492a8643ec260e998f64001784249f7da80cf\"\u003e\u003ccode\u003e2d1492a\u003c/code\u003e\u003c/a\u003e fix(core): improve error message for non-JSON-serializable tool schemas (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34376\"\u003e#34376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/d6e46bb4b0813bdfe1f6670380b45ead550636c6\"\u003e\u003ccode\u003ed6e46bb\u003c/code\u003e\u003c/a\u003e fix(core): improve typing/docs for on_chat_model_start to clarify required po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/875c3c573d90484a49493f09d57828cfca3f189a\"\u003e\u003ccode\u003e875c3c5\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.127.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/32725b3d9b869fbfd955ce5f21dd1ce405305b01\"\u003e\u003ccode\u003e32725b3\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.117.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2fa460d325d0500069232a2f27be0c40f95c9f28\"\u003e\u003ccode\u003e2fa460d\u003c/code\u003e\u003c/a\u003e fix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/6199525f505412df20a32f0a1550ac587cebf9f8\"\u003e\u003ccode\u003e6199525\u003c/code\u003e\u003c/a\u003e perf(core): defer specific \u003ccode\u003elangsmith\u003c/code\u003e imports to reduce import time (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35298\"\u003e#35298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/00538ff5fc1084864a54675bfb24b3dd30ef1261\"\u003e\u003ccode\u003e00538ff\u003c/code\u003e\u003c/a\u003e revert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-anthropic==1.3.3...langchain-anthropic==1.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-core` from 1.2.14 to 1.2.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-core==1.2.16\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.15\u003c/p\u003e\n\u003cp\u003erelease(core): 1.2.16 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35439\"\u003e#35439\u003c/a\u003e)\nfix(core): treat empty tool chunk ids as missing in merge (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35414\"\u003e#35414\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-core==1.2.15\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.14\u003c/p\u003e\n\u003cp\u003efix(core): improve error message for non-JSON-serializable tool schemas (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34376\"\u003e#34376\u003c/a\u003e)\nfix(core): improve typing/docs for on_chat_model_start to clarify required positional args (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35324\"\u003e#35324\u003c/a\u003e)\nperf(core): defer specific \u003ccode\u003elangsmith\u003c/code\u003e imports to reduce import time (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35298\"\u003e#35298\u003c/a\u003e)\nrevert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\nrelease(core): 1.2.15 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35367\"\u003e#35367\u003c/a\u003e)\nfix(anthropic): replace retired model IDs in tests and docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35365\"\u003e#35365\u003c/a\u003e)\nfeat(anthropic): add ChatAnthropicBedrock wrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35091\"\u003e#35091\u003c/a\u003e)\nstyle: fix some ruff noqa (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35321\"\u003e#35321\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/langchain-ai/langchain/commit/94a58825d352e15b2f5a132859b08827f7b208fb\"\u003e\u003ccode\u003e94a5882\u003c/code\u003e\u003c/a\u003e release(core): 1.2.16 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35439\"\u003e#35439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/78678534f970a5a01dddfc979594367c58d04b44\"\u003e\u003ccode\u003e7867853\u003c/code\u003e\u003c/a\u003e fix(core): treat empty tool chunk ids as missing in merge (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35414\"\u003e#35414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/4ffb584ddf09440184dda63d11187b0bdd2b63b2\"\u003e\u003ccode\u003e4ffb584\u003c/code\u003e\u003c/a\u003e release(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/cdb9742511d57b8eb3d37f93d115ae9b4d60dba4\"\u003e\u003ccode\u003ecdb9742\u003c/code\u003e\u003c/a\u003e fix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0b975d4d1ba532d4da16af222824951aeabba9d6\"\u003e\u003ccode\u003e0b975d4\u003c/code\u003e\u003c/a\u003e chore: bump the other-deps group across 3 directories with 2 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35407\"\u003e#35407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2d1492a8643ec260e998f64001784249f7da80cf\"\u003e\u003ccode\u003e2d1492a\u003c/code\u003e\u003c/a\u003e fix(core): improve error message for non-JSON-serializable tool schemas (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34376\"\u003e#34376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/d6e46bb4b0813bdfe1f6670380b45ead550636c6\"\u003e\u003ccode\u003ed6e46bb\u003c/code\u003e\u003c/a\u003e fix(core): improve typing/docs for on_chat_model_start to clarify required po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/875c3c573d90484a49493f09d57828cfca3f189a\"\u003e\u003ccode\u003e875c3c5\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.127.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/32725b3d9b869fbfd955ce5f21dd1ce405305b01\"\u003e\u003ccode\u003e32725b3\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.117.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2fa460d325d0500069232a2f27be0c40f95c9f28\"\u003e\u003ccode\u003e2fa460d\u003c/code\u003e\u003c/a\u003e fix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.14...langchain-core==1.2.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-status` from 1.71.2 to 1.78.0\n\nUpdates `prefect` from 3.6.18 to 3.6.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PrefectHQ/prefect/releases\"\u003eprefect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.19 - This release sucks in the best way possible\u003c/h2\u003e\n\u003cp\u003eThis release introduces an optional database vacuum service that periodically deletes old flow runs and orphaned resources (logs, artifacts, artifact collections) to keep your database lean. It's \u003cstrong\u003edisabled by default\u003c/strong\u003e — enable it with \u003ccode\u003ePREFECT_SERVER_SERVICES_DB_VACUUM_ENABLED=true\u003c/code\u003e. Once enabled, it runs hourly and removes terminal top-level flow runs older than 90 days. Both the retention period and frequency are configurable via \u003ccode\u003ePREFECT_SERVER_SERVICES_DB_VACUUM_RETENTION_PERIOD\u003c/code\u003e (in seconds, minimum 1 hour) and \u003ccode\u003ePREFECT_SERVER_SERVICES_DB_VACUUM_LOOP_SECONDS\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements ➕➕\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd DB vacuum service in Docket by \u003ca href=\"https://github.com/tom21100227\"\u003e\u003ccode\u003e@​tom21100227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20746\"\u003e#20746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Docker images for \u003ccode\u003eprefect-gcp\u003c/code\u003e and \u003ccode\u003eprefect-azure\u003c/code\u003e by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20771\"\u003e#20771\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes 🐞\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SSRF protection to \u003ccode\u003eCustomWebhookNotificationBlock\u003c/code\u003e by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20781\"\u003e#20781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix scheduler to check per-schedule run counts for multi-schedule deployments by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20699\"\u003e#20699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FastAPI 0.132.0 compatibility by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20822\"\u003e#20822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDevelopment \u0026amp; Tidiness 🧹\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UI v2 unit tests and E2E tests to Devin flaky test workflow by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20774\"\u003e#20774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate work-pool command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20766\"\u003e#20766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate transfer command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20767\"\u003e#20767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate cloud command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20780\"\u003e#20780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate deploy command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20783\"\u003e#20783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove bogus alias from cyclopts deployment command by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20793\"\u003e#20793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd deploy to cyclopts routing and remove dead delegation code by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20794\"\u003e#20794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate automation command to cyclopts and register init at root level by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20802\"\u003e#20802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit database and orchestration tests into separate jobs by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20803\"\u003e#20803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cyclopts phase 2 — server status, stdin handling, watch monkeypatch by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20807\"\u003e#20807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation 📓\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eImportString\u003c/code\u003e section to form-building guide by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20768\"\u003e#20768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix MDX rendering issues in prefect-databricks API reference docs by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20792\"\u003e#20792\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PrefectHQ/prefect/compare/3.6.18...3.6.19\"\u003ehttps://github.com/PrefectHQ/prefect/compare/3.6.18...3.6.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.6.19.dev3: Nightly Development Release\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eEnhancements ➕➕\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Docker image build and publish workflows for \u003ccode\u003eprefect-gcp\u003c/code\u003e and \u003ccode\u003eprefect-azure\u003c/code\u003e by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20771\"\u003ePrefectHQ/prefect#20771\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDevelopment \u0026amp; Tidiness 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update coolname requirement from \u0026lt;4.0.0,\u0026gt;=1.0.4 to \u0026gt;=1.0.4,\u0026lt;5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20797\"\u003ePrefectHQ/prefect#20797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): migrate automation command + register init at root level in cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20802\"\u003ePrefectHQ/prefect#20802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: split database and orchestration tests into separate jobs by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20803\"\u003ePrefectHQ/prefect#20803\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUncategorized\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): add deploy to cyclopts routing + remove dead delegation code by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20794\"\u003ePrefectHQ/prefect#20794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(prefect-dbt): add DbtCloudExecutor for per-node cloud orchestration by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20784\"\u003ePrefectHQ/prefect#20784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Optional DB Vaccum Service in Docket by \u003ca href=\"https://github.com/tom21100227\"\u003e\u003ccode\u003e@​tom21100227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20746\"\u003ePrefectHQ/prefect#20746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: cyclopts phase 2 cleanup — server status, stdin handling, watch monkeypatch by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20807\"\u003ePrefectHQ/prefect#20807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(10-03): state color consistency and regression prevention by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20809\"\u003ePrefectHQ/prefect#20809\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/PrefectHQ/prefect/commit/1c3149c73c91b61e068b3fb1d1a61cb6fa45a6d3\"\u003e\u003ccode\u003e1c3149c\u003c/code\u003e\u003c/a\u003e Add release notes for 3.6.19 (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20823\"\u003e#20823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/96254d2809d420c3fc0930075c7181447d0df660\"\u003e\u003ccode\u003e96254d2\u003c/code\u003e\u003c/a\u003e fix(11-02): targeted responsive grid fixes for filter bars (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20815\"\u003e#20815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/278a2419782e025a3685f843cbd55f8e835bcf9c\"\u003e\u003ccode\u003e278a241\u003c/code\u003e\u003c/a\u003e fix: FastAPI 0.132.0 compatibility (content-type and ORJSONResponse) (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20822\"\u003e#20822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/122216da17d61d61f46e13899bd4e5722e47d05d\"\u003e\u003ccode\u003e122216d\u003c/code\u003e\u003c/a\u003e feat(11-04): well layout standardization — LayoutWellSidebar for deployment a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/d80f003056f65b9ded02bd43d0900830f8ec4cd0\"\u003e\u003ccode\u003ed80f003\u003c/code\u003e\u003c/a\u003e feat(11-03): spacing, header structure, and horizontal padding standardizatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/1c7409f9fce97d1ead584701326753deab03e2cb\"\u003e\u003ccode\u003e1c7409f\u003c/code\u003e\u003c/a\u003e feat(11-01): foundation bug fixes — DataTable overflow, LayoutWell min-h, Sid...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/33c6c4c811cd5bc30112615678fb2a7bce4359ba\"\u003e\u003ccode\u003e33c6c4c\u003c/code\u003e\u003c/a\u003e feat(10-03): state color consistency and regression prevention (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20809\"\u003e#20809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/56d71e423b3891d7b496ab37d1e207b71aa34686\"\u003e\u003ccode\u003e56d71e4\u003c/code\u003e\u003c/a\u003e fix: cyclopts phase 2 cleanup — server status, stdin handling, watch monkeypa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/853c40b5ccc31c38207e1a0ff35fd0ea52e07a16\"\u003e\u003ccode\u003e853c40b\u003c/code\u003e\u003c/a\u003e feat(10-02): replace hardcoded colors with semantic tokens (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20808\"\u003e#20808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/53b2a87b381991f30bb24475bc184921cdea9aea\"\u003e\u003ccode\u003e53b2a87\u003c/code\u003e\u003c/a\u003e feat(10-01): CSS token foundation for dark mode (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20805\"\u003e#20805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PrefectHQ/prefect/compare/3.6.18...3.6.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.17.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\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/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.4 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 40.4.0 to 40.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joke2k/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v40.5.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/joke2k/faker/blob/refs/tags/v40.5.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease v40.5.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/joke2k/faker/blob/refs/tags/v40.5.0/CHANGELOG.md\"\u003eCHANGELOG.md\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/joke2k/faker/blob/master/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/joke2k/faker/compare/v40.5.0...v40.5.1\"\u003ev40.5.1 - 2026-02-23\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e_get_local_timezone()\u003c/code\u003e missing \u003ccode\u003ereturn\u003c/code\u003e statement. Thanks \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/joke2k/faker/compare/v40.4.0...v40.5.0\"\u003ev40.5.0 - 2026-02-23\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing formats and remove duplicates in \u003ccode\u003euser_name_formats\u003c/code\u003e. Thanks \u003ca href=\"https://github.com/WannaFight\"\u003e\u003ccode\u003e@​WannaFight\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/joke2k/faker/commit/5f403be2638b23266e4fc1ed93bbec1b17da3ee3\"\u003e\u003ccode\u003e5f403be\u003c/code\u003e\u003c/a\u003e Bump version: 40.5.0 → 40.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/faker/commit/a573f1fb73bf84b675c3f3dfa2536c16fba043ce\"\u003e\u003ccode\u003ea573f1f\u003c/code\u003e\u003c/a\u003e :pencil: Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/faker/commit/143c483de34d1d74f4d32699f897db03427b5308\"\u003e\u003ccode\u003e143c483\u003c/code\u003e\u003c/a\u003e Bump version: 40.4.0 → 40.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/faker/commit/298613bb9e...\n\n_Description has been truncated_","html_url":"https://github.com/Arisofia/abaco-loans-analytics/pull/287","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arisofia%2Fabaco-loans-analytics/issues/287","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/287/packages"},{"uuid":"3976920933","node_id":"PR_kwDOQxJ4SM7FlTUx","number":240,"state":"open","title":"Bump astroid from 4.1.0 to 4.1.1","user":"dependabot[bot]","labels":["dependencies"],"assignees":["MohsenHNSJ"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T08:22:05.000Z","updated_at":"2026-02-23T08:25:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.1.0 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: TBA\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\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/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.1.0...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.1.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/MohsenHNSJ/HamyarPaygahPy/pull/240","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohsenHNSJ%2FHamyarPaygahPy/issues/240","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/240/packages"},{"uuid":"3976511987","node_id":"PR_kwDOBQ_hJs7Fj98P","number":6585,"state":"open","title":"Bump astroid from 4.0.3 to 4.1.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T06:07:42.000Z","updated_at":"2026-02-23T09:11:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: TBA\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\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/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/home-assistant/supervisor/pull/6585","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2Fsupervisor/issues/6585","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6585/packages"},{"uuid":"3975782510","node_id":"PR_kwDOLBeFW87Fhnmo","number":376,"state":"closed","title":"Build(deps): Bump astroid from 4.0.3 to 4.1.0 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-25T00:23:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-23T00:29:35.000Z","updated_at":"2026-02-25T00:23:57.000Z","time_to_close":172460,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.1.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/Ewa-Anna/Django-Task-Tracker/pull/376","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ewa-Anna%2FDjango-Task-Tracker/issues/376","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/376/packages"},{"uuid":"3971286314","node_id":"PR_kwDOP8Yvy87FTf4w","number":27,"state":"closed","title":"chore(deps): bump the production-dependencies group across 1 directory with 46 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-28T04:22:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-21T04:25:52.000Z","updated_at":"2026-02-28T04:22:44.000Z","time_to_close":604611,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":46,"packages":[{"name":"fastapi","old_version":"0.128.0","new_version":"0.129.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.24.0.post1","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"gitpython","old_version":"3.1.45","new_version":"3.1.46","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"pyrefly","old_version":"0.46.3","new_version":"0.53.0","repository_url":"https://github.com/facebook/pyrefly"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-asyncio","old_version":"0.21.2","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"black","old_version":"25.12.0","new_version":"26.1.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"6.1.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"pylint","old_version":"4.0.4","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"ruff","old_version":"0.14.10","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"hypothesis","old_version":"6.148.8","new_version":"6.151.9","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"astroid","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"authlib","old_version":"1.6.6","new_version":"1.6.8","repository_url":"https://github.com/authlib/authlib"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"click","old_version":"8.1.8","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"coverage","old_version":"7.13.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cryptography","old_version":"46.0.3","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"dill","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/uqfoundation/dill"},{"name":"filelock","old_version":"3.20.1","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"isort","old_version":"7.0.0","new_version":"8.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pathspec","old_version":"0.12.1","new_version":"1.0.4","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pycodestyle","old_version":"2.11.1","new_version":"2.14.0","repository_url":"https://github.com/PyCQA/pycodestyle"},{"name":"pyflakes","old_version":"3.1.0","new_version":"3.4.0","repository_url":"https://github.com/PyCQA/pyflakes"},{"name":"pytokens","old_version":"0.3.0","new_version":"0.4.1","repository_url":"https://github.com/tusharsadhwani/pytokens"},{"name":"regex","old_version":"2025.11.3","new_version":"2026.2.19","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"ruamel-yaml","old_version":"0.18.17","new_version":"0.19.1"},{"name":"safety-schemas","old_version":"0.0.16","new_version":"0.0.18","repository_url":"https://github.com/pyupio/safety_schemas"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"stevedore","old_version":"5.6.0","new_version":"5.7.0"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"tomlkit","old_version":"0.13.3","new_version":"0.14.0","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"typer","old_version":"0.21.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"urllib3","old_version":"2.6.2","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"websockets","old_version":"15.0.1","new_version":"16.0","repository_url":"https://github.com/python-websockets/websockets"},{"name":"dataclasses-json","old_version":"0.5.7","new_version":"0.6.7","repository_url":"https://github.com/lidatong/dataclasses-json"},{"name":"psutil","old_version":"7.2.1","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"typeguard","old_version":"2.13.3","new_version":"4.5.1","repository_url":"https://github.com/agronholm/typeguard"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 46 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.128.0` | `0.129.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.24.0.post1` | `0.41.0` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.45` | `3.1.46` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.46.3` | `0.53.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `7.0.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.21.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.12.0` | `26.1.0` |\n| [flake8](https://github.com/pycqa/flake8) | `6.1.0` | `7.3.0` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.4` | `4.0.5` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.15.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.148.8` | `6.151.9` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.2` | `4.1.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.6` | `1.6.8` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [click](https://github.com/pallets/click) | `8.1.8` | `8.3.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.0` | `7.13.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.5` |\n| [dill](https://github.com/uqfoundation/dill) | `0.4.0` | `0.4.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.1` | `3.24.3` |\n| [isort](https://github.com/PyCQA/isort) | `7.0.0` | `8.0.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `0.12.1` | `1.0.4` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.11.1` | `2.14.0` |\n| [pyflakes](https://github.com/PyCQA/pyflakes) | `3.1.0` | `3.4.0` |\n| [pytokens](https://github.com/tusharsadhwani/pytokens) | `0.3.0` | `0.4.1` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2025.11.3` | `2026.2.19` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| ruamel-yaml | `0.18.17` | `0.19.1` |\n| [safety-schemas](https://github.com/pyupio/safety_schemas) | `0.0.16` | `0.0.18` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [stevedore](https://docs.openstack.org/stevedore) | `5.6.0` | `5.7.0` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.3` | `0.14.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [typer](https://github.com/fastapi/typer) | `0.21.0` | `0.24.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.2` | `2.6.3` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0.1` | `16.0` |\n| [dataclasses-json](https://github.com/lidatong/dataclasses-json) | `0.5.7` | `0.6.7` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.2.1` | `7.2.2` |\n| [typeguard](https://github.com/agronholm/typeguard) | `2.13.3` | `4.5.1` |\n\n\nUpdates `fastapi` from 0.128.0 to 0.129.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.129.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14897\"\u003e#14897\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\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Update internal types for Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14898\"\u003e#14898\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📝 Update highlights in webhooks docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14905\"\u003e#14905\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 source examples and docs from Python 3.9 to 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14900\"\u003e#14900\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🔨 Update docs.py scripts to migrate Python 3.9 to Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14906\"\u003e#14906\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.128.8\u003c/h2\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Fix grammar in \u003ccode\u003edocs/en/docs/tutorial/first-steps.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14708\"\u003e#14708\u003c/a\u003e by \u003ca href=\"https://github.com/SanjanaS10\"\u003e\u003ccode\u003e@​SanjanaS10\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Tweak PDM hook script. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14895\"\u003e#14895\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 build setup for \u003ccode\u003efastapi-slim\u003c/code\u003e, deprecate it, and make it only depend on \u003ccode\u003efastapi\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14894\"\u003e#14894\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.128.7\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Show a clear error on attempt to include router into itself. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14258\"\u003e#14258\u003c/a\u003e by \u003ca href=\"https://github.com/JavierSanchezCastro\"\u003e\u003ccode\u003e@​JavierSanchezCastro\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✨ Replace \u003ccode\u003edict\u003c/code\u003e by \u003ccode\u003eMapping\u003c/code\u003e on \u003ccode\u003eHTTPException.headers\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/12997\"\u003e#12997\u003c/a\u003e by \u003ca href=\"https://github.com/rijenkii\"\u003e\u003ccode\u003e@​rijenkii\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Simplify reading files in memory, do it sequentially instead of (fake) parallel. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14884\"\u003e#14884\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📝 Use \u003ccode\u003edfn\u003c/code\u003e tag for definitions instead of \u003ccode\u003eabbr\u003c/code\u003e in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14744\"\u003e#14744\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✅ Tweak comment in test to reference PR. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14885\"\u003e#14885\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 LLM-prompt for \u003ccode\u003eabbr\u003c/code\u003e and \u003ccode\u003edfn\u003c/code\u003e tags. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14747\"\u003e#14747\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✅ Test order for the submitted byte Files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14828\"\u003e#14828\u003c/a\u003e by \u003ca href=\"https://github.com/valentinDruzhinin\"\u003e\u003ccode\u003e@​valentinDruzhinin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Configure \u003ccode\u003etest\u003c/code\u003e workflow to run tests with \u003ccode\u003einline-snapshot=review\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14876\"\u003e#14876\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.128.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a2e51363c721ee6fccb148bff95ca328b4efdfed\"\u003e\u003ccode\u003ea2e5136\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.129.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b7ce02ae86ee466380d2db09be008cfe83a1ca35\"\u003e\u003ccode\u003eb7ce02a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/31d9750aceaff347bd55be37880b7f36bc26c1b1\"\u003e\u003ccode\u003e31d9750\u003c/code\u003e\u003c/a\u003e 🔨 Update docs.py scripts to migrate Python 3.9 to Python 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14906\"\u003e#14906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/109cc8aff126b60971ec27d68d32b8713f0ec72a\"\u003e\u003ccode\u003e109cc8a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c82a3d8a13af58e092ba95ffb4b8a64b9ca82726\"\u003e\u003ccode\u003ec82a3d8\u003c/code\u003e\u003c/a\u003e 📝 Update highlights in webhooks docs (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14905\"\u003e#14905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/0e460654af7101866b7d0f22735ef6337fe13d0c\"\u003e\u003ccode\u003e0e46065\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c9e2277d8b3b0feead4bdad97fca7cf05c9263fd\"\u003e\u003ccode\u003ec9e2277\u003c/code\u003e\u003c/a\u003e 📝 Update source examples and docs from Python 3.9 to 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14900\"\u003e#14900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d06ab3f5c7c1b6229e28af37905eb51ab4b4cdb7\"\u003e\u003ccode\u003ed06ab3f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3da206c06df1283518a54b18f27bed33f2d22612\"\u003e\u003ccode\u003e3da206c\u003c/code\u003e\u003c/a\u003e 🎨 Update internal types for Python 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14898\"\u003e#14898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cc903bd440a4a443510c7b10ef7e9a1f88f44e0e\"\u003e\u003ccode\u003ecc903bd\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.128.0...0.129.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.24.0.post1 to 0.41.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.41.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/t-kawasumi\"\u003e\u003ccode\u003e@​t-kawasumi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2776\"\u003eKludex/uvicorn#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fardyn\"\u003e\u003ccode\u003e@​fardyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2800\"\u003eKludex/uvicorn#2800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewie\"\u003e\u003ccode\u003e@​ewie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2807\"\u003eKludex/uvicorn#2807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shevron\"\u003e\u003ccode\u003e@​shevron\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2788\"\u003eKludex/uvicorn#2788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonashaag\"\u003e\u003ccode\u003e@​jonashaag\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2707\"\u003eKludex/uvicorn#2707\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2772\"\u003eKludex/uvicorn#2772\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\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/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.41.0 (February 16, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\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/Kludex/uvicorn/commit/9283c0f15cfa82307f57daba4d1b1880902adfb2\"\u003e\u003ccode\u003e9283c0f\u003c/code\u003e\u003c/a\u003e Version 0.41.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a01a33eb8f3ac044cab5964421b9aa308a2bcfca\"\u003e\u003ccode\u003ea01a33e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/2ce65bde1509faa958775df8153bdeb5dbaf6f58\"\u003e\u003ccode\u003e2ce65bd\u003c/code\u003e\u003c/a\u003e Ignore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/654f2ed7d7c1a014116d8662e6544f5309375137\"\u003e\u003ccode\u003e654f2ed\u003c/code\u003e\u003c/a\u003e Ensure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a03d9f6f0e99383c76934a82def5a83aeb6b0a47\"\u003e\u003ccode\u003ea03d9f6\u003c/code\u003e\u003c/a\u003e Reduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/e377de40d0a2a1b1d9f55483ee4c1cceb2474502\"\u003e\u003ccode\u003ee377de4\u003c/code\u003e\u003c/a\u003e Add socket path to scope[\u0026quot;server\u0026quot;] (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0779f7f8a4df1cc98433eb30d69027499a0cb7f8\"\u003e\u003ccode\u003e0779f7f\u003c/code\u003e\u003c/a\u003e Poll for readiness in \u003ccode\u003etest_multiprocess_health_check\u003c/code\u003e and \u003ccode\u003erun_server\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2816\"\u003e#2816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7e9ce2c974f1d78d192e81caa7890e2bbae8e711\"\u003e\u003ccode\u003e7e9ce2c\u003c/code\u003e\u003c/a\u003e Poll for PID changes in \u003ccode\u003etest_multiprocess_sighup\u003c/code\u003e instead of fixed sleep (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/99f0d8734d441bf4a1467093766c779a5a1c9868\"\u003e\u003ccode\u003e99f0d87\u003c/code\u003e\u003c/a\u003e Fix grep warning in scripts/sync-version (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2807\"\u003e#2807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ae2e6375a90b2e6a3370aa252f5ac2dc06ab892\"\u003e\u003ccode\u003e7ae2e63\u003c/code\u003e\u003c/a\u003e chore(deps): bump the python-packages group with 18 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2801\"\u003e#2801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.24.0.post1...0.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gitpython` from 3.1.45 to 3.1.46\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gitpython-developers/GitPython/releases\"\u003egitpython's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.46\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare a new release by \u003ca href=\"https://github.com/Byron\"\u003e\u003ccode\u003e@​Byron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2063\"\u003egitpython-developers/GitPython#2063\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2067\"\u003egitpython-developers/GitPython#2067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003e335c0f6\u003c/code\u003e to \u003ccode\u003e39d7dbf\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2068\"\u003egitpython-developers/GitPython#2068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2070\"\u003egitpython-developers/GitPython#2070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003e39d7dbf\u003c/code\u003e to \u003ccode\u003ef8fdfec\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2071\"\u003egitpython-developers/GitPython#2071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003eSymbolicReference.reference\u003c/code\u003e property by \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2074\"\u003egitpython-developers/GitPython#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add support for hasconfig git rule. by \u003ca href=\"https://github.com/bvanelli\"\u003e\u003ccode\u003e@​bvanelli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2075\"\u003egitpython-developers/GitPython#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2076\"\u003egitpython-developers/GitPython#2076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse actual return type in annotation for method submodule_update by \u003ca href=\"https://github.com/extrwi\"\u003e\u003ccode\u003e@​extrwi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2078\"\u003egitpython-developers/GitPython#2078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003ef8fdfec\u003c/code\u003e to \u003ccode\u003e65321a2\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2082\"\u003egitpython-developers/GitPython#2082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreliminary support for index format v3 by \u003ca href=\"https://github.com/blahgeek\"\u003e\u003ccode\u003e@​blahgeek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2081\"\u003egitpython-developers/GitPython#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2084\"\u003egitpython-developers/GitPython#2084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003emypy==1.18.2\u003c/code\u003e by \u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2087\"\u003egitpython-developers/GitPython#2087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003eos.Pathlike\u003c/code\u003e by \u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2086\"\u003egitpython-developers/GitPython#2086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003e65321a2\u003c/code\u003e to \u003ccode\u003e4c63ee6\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2093\"\u003egitpython-developers/GitPython#2093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJoin \u003ccode\u003ePathlike\u003c/code\u003e Object to Tree by \u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2094\"\u003egitpython-developers/GitPython#2094\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/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2074\"\u003egitpython-developers/GitPython#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bvanelli\"\u003e\u003ccode\u003e@​bvanelli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2075\"\u003egitpython-developers/GitPython#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/extrwi\"\u003e\u003ccode\u003e@​extrwi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2078\"\u003egitpython-developers/GitPython#2078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/blahgeek\"\u003e\u003ccode\u003e@​blahgeek\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2081\"\u003egitpython-developers/GitPython#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2087\"\u003egitpython-developers/GitPython#2087\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/gitpython-developers/GitPython/compare/3.1.45...3.1.46\"\u003ehttps://github.com/gitpython-developers/GitPython/compare/3.1.45...3.1.46\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/gitpython-developers/GitPython/commit/9e24eb6b72c1851e46e09133b83b48f2059037d7\"\u003e\u003ccode\u003e9e24eb6\u003c/code\u003e\u003c/a\u003e Prepare next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/b8bb60e544a1f389120b5540c6e1e7505427c279\"\u003e\u003ccode\u003eb8bb60e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2094\"\u003e#2094\u003c/a\u003e from George-Ogden/join-pathlike\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/c8b58c09904dabe67222165e4d3eecf4c8f07490\"\u003e\u003ccode\u003ec8b58c0\u003c/code\u003e\u003c/a\u003e Update test/test_tree.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/88e26141c738f6ac3beb1a433039611f88c2c30d\"\u003e\u003ccode\u003e88e2614\u003c/code\u003e\u003c/a\u003e Allow joining path to tree\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/9fa28ae108dc39cfb13282cd18d4251d0118dd52\"\u003e\u003ccode\u003e9fa28ae\u003c/code\u003e\u003c/a\u003e Add failing tests for joining paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/6d66a02d14929976d9d8409773054e2e022eae0e\"\u003e\u003ccode\u003e6d66a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2093\"\u003e#2093\u003c/a\u003e from gitpython-developers/dependabot/submodules/git/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/f738029ab05fe8356022248e68f9119c46b2f1e5\"\u003e\u003ccode\u003ef738029\u003c/code\u003e\u003c/a\u003e Bump git/ext/gitdb from \u003ccode\u003e65321a2\u003c/code\u003e to \u003ccode\u003e4c63ee6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/eecc28d2e78d799105a2070acdb530ee5c81a9e8\"\u003e\u003ccode\u003eeecc28d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2086\"\u003e#2086\u003c/a\u003e from George-Ogden/true-pathlike\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/0cb55fb4adca4f2b26767e85ef8652ef13b834a1\"\u003e\u003ccode\u003e0cb55fb\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add tests with non-ascii characters\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/171062655e24b6a6ca1a3beab3c7679278350ab5\"\u003e\u003ccode\u003e1710626\u003c/code\u003e\u003c/a\u003e Add tests with non-ascii characters\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gitpython-developers/GitPython/compare/3.1.45...3.1.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.46.3 to 0.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/pyrefly/releases\"\u003epyrefly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyrefly v0.53.0\u003c/h2\u003e\n\u003ch1\u003ePyrefly 0.53.0\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 17 February 2026\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003epyrefly 0.53.0 bundles \u003cstrong\u003e245 commits\u003c/strong\u003e from \u003cstrong\u003e27 contributors\u003c/strong\u003e.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e✨ New \u0026amp; Improved\u003c/h1\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eArea\u003c/th\u003e\n\u003cth align=\"left\"\u003eWhat’s new\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eType Checking\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Recursive type aliases now supported, so you can define type aliases that reference themselves, and Pyrefly will correctly resolve and type-check them \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Error is now raised when \u003ccode\u003eSelf\u003c/code\u003e is used in certain invalid locations (outside a class, in a static method within a class, in a metaclass) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Pyrefly now supports the idiom class \u003ccode\u003eFoo(namedtuple(\u0026quot;Bar\u0026quot;, ...))\u003c/code\u003e, matching CPython and Mypy behavior \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Pyrefly will now warn you if a protocol’s type variable is used in a way that doesn’t match its declared variance\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eLanguage Server\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Completion suggestions are now ranked based on most recently used (MRU) items  \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Auto-import completions and unknown-name quick fixes now honor common aliases (e.g. \u003ccode\u003eimport numpy as np\u003c/code\u003e) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Improved error messages for signature mismatches, including ASCII-style diffs and normalized function names for clarity\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eConfig\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- JSON schemas added for \u003ccode\u003epyrefly.toml\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e to enable editor features like auto-completion and validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003ePerformance\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Pyrefly uses ~26% less CPU when tested typechecking the whole Pytorch codebase on M1 Pro MacBook with 10 cores\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003chr /\u003e\n\u003ch1\u003e🐛 bug fixes\u003c/h1\u003e\n\u003cp\u003eWe closed 17 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/949\"\u003e#949\u003c/a\u003e - Lambdas with \u003ccode\u003eyield\u003c/code\u003e or \u003ccode\u003eyield from\u003c/code\u003e are now correctly inferred as generator-returning callables.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2407\"\u003e#2407\u003c/a\u003e - \u003ccode\u003eLiteral\u003c/code\u003e imported via \u003ccode\u003etry/except\u003c/code\u003e is now recognized as a special form, preventing spurious unknown-name errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2375\"\u003e#2375\u003c/a\u003e - Methods overriding base class methods no longer trigger false positive errors for missing \u003ccode\u003e@override\u003c/code\u003e decorators.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2327\"\u003e#2327\u003c/a\u003e - The first parameter of class methods is now correctly handled regardless of its name.\u003c/li\u003e\n\u003cli\u003eAnd more - \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1754\"\u003e#1754\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1383\"\u003e#1383\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1790\"\u003e#1790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2350\"\u003e#2350\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2369\"\u003e#2369\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2371\"\u003e#2371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2335\"\u003e#2335\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/259\"\u003e#259\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/254\"\u003e#254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1778\"\u003e#1778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2116\"\u003e#2116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2302\"\u003e#2302\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank-you to all our contributors who found these bugs and reported them! Did you know this is one of the most helpful contributions you can make to an open-source project? If you find any bugs in Pyrefly we want to know about them! Please open a bug report issue \u003ca href=\"https://github.com/facebook/pyrefly/issues\"\u003ehere\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e📦 Upgrade\u003c/h1\u003e\n\u003cpre\u003e\u003ccode\u003epip install --upgrade pyrefly==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eHow to safely upgrade your codebase\u003c/h2\u003e\n\u003cp\u003eUpgrading the version of Pyrefly you're using or a third-party library you depend on can reveal new type errors in your code. Fixing them all at once is often unrealistic. We've written scripts to help you temporarily silence them. After upgrading, follow these steps:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --suppress-errors\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003erun your code formatter of choice\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --remove-unused-ignores\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRepeat until you achieve a clean formatting run and a clean type check.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/fda879a66c9e0f12e1c6e30fc5653512531a1df0\"\u003e\u003ccode\u003efda879a\u003c/code\u003e\u003c/a\u003e Update pyrefly version]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/817a22e123eb5e0cd81e9c9956ebb4ac15dccace\"\u003e\u003ccode\u003e817a22e\u003c/code\u003e\u003c/a\u003e Mark 3 more nondeterministic projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4270fb17e7ab8f8d70b71cf22c5f69f65fc5d60f\"\u003e\u003ccode\u003e4270fb1\u003c/code\u003e\u003c/a\u003e Add missing global variable edges in call graph when using global statement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/c8e7e6c1e19bb0039fb532fa6cc3cd2a57fbd1e0\"\u003e\u003ccode\u003ec8e7e6c\u003c/code\u003e\u003c/a\u003e Add further jsonschema testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/9ebf413cd23212f7bb7056c284379d34749c8442\"\u003e\u003ccode\u003e9ebf413\u003c/code\u003e\u003c/a\u003e Add jsonschema tests to test runner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/e0cf658d289d439affb29e3b386f05ad1346ac49\"\u003e\u003ccode\u003ee0cf658\u003c/code\u003e\u003c/a\u003e Turn tests into Python unittests (and buckify)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/093106e3f2b7a9546e95ec65b608c3184e4797bb\"\u003e\u003ccode\u003e093106e\u003c/code\u003e\u003c/a\u003e Expose ArgsExpander to the solver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/ea7aef8ecbf1cb71b00ef1c311b3c33c3ac7eae7\"\u003e\u003ccode\u003eea7aef8\u003c/code\u003e\u003c/a\u003e Make ArgsExpander hold an AnswersSolver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/8c2e34538f294551c50e83a44104457508293f08\"\u003e\u003ccode\u003e8c2e345\u003c/code\u003e\u003c/a\u003e Refactor quickfix logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/e4babe94f2394b278893ab82319a225379764d8e\"\u003e\u003ccode\u003ee4babe9\u003c/code\u003e\u003c/a\u003e Update Pyrefly schema validator to include negative tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.46.3...0.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 4.1.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.1 (2025-06-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved deprecated license classifier (packaging).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisabled coverage warnings in two more situations where they have no value:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;module-not-measured\u0026quot; in workers\u003c/li\u003e\n\u003cli\u003e\u0026quot;already-imported\u0026quot; in subprocesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.0 (2025-06-11)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::\u003c/p\u003e\n\u003cp\u003edefault:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\nonce::PytestCovWarning\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v4.1.0...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.21.2 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.21.2...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.12.0 to 26.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\r\n!exclude/not_this/\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\r\n!*/exclude/not_this/\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\nmatching subdirectories (like the previous behavior did), and not just matching root\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\n!exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\n!*/exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\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/psf/black/commit/6305bf1ae645ab7541be4f5028a86239316178eb\"\u003e\u003ccode\u003e6305bf1\u003c/code\u003e\u003c/a\u003e Prepare 2026.1.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e71305bee302f7f9016b228361e5ae69669dca7b\"\u003e\u003ccode\u003ee71305b\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 3.3.0 to 3.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4961\"\u003e#4961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/21a2a8c2b1d0c8d47bc00cc59591470f6a9e2307\"\u003e\u003ccode\u003e21a2a8c\u003c/code\u003e\u003c/a\u003e Fix Shutdown multiprocessing Manager in schedule_formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4952\"\u003e#4952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e3146cea4245fcee29d007cb45d9faaf63271586\"\u003e\u003ccode\u003ee3146ce\u003c/code\u003e\u003c/a\u003e Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/fe1fbc4fdfa03fa1d460f975b8aca77e4b4f1a4a\"\u003e\u003ccode\u003efe1fbc4\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2b4b7fcfe00bb0d99322e07e87fc2f0992f7a4d8\"\u003e\u003ccode\u003e2b4b7fc\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4922\"\u003e#4922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/d745be69bfa9d85ec2ef6e5f9b7ec7e253b5e8ab\"\u003e\u003ccode\u003ed745be6\u003c/code\u003e\u003c/a\u003e docs: document --force-exclude for pre-commit workflows (\u003ca href=\"https://redirect.github.com/psf/black/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b41acd6ebbe76e18b49286166924f73f01c3fd02\"\u003e\u003ccode\u003eb41acd6\u003c/code\u003e\u003c/a\u003e Various CI and doc refactors (\u003ca href=\"https://redirect.github.com/psf/black/issues/4928\"\u003e#4928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6f43612766da4a2f275b575af0802c3e73b6ed83\"\u003e\u003ccode\u003e6f43612\u003c/code\u003e\u003c/a\u003e Handle pathspec v1 changes (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/200c550aff44372f801a6d826a361cb26f45a504\"\u003e\u003ccode\u003e200c550\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in /docs (\u003ca href=\"https://redirect.github.com/psf/black/issues/4933\"\u003e#4933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.12.0...26.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8` from 6.1.0 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/6.1.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httpx` from 0.25.2 to 0.28.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/httpx/releases\"\u003ehttpx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.28.1\u003c/h2\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.28.0\u003c/h2\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/HEAD/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.2\u003c/h2\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.1\u003c/h2\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\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/encode/httpx/blob/master/CHANGELOG.md\"\u003ehttpx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eBe aware that the default \u003cem\u003eJSON request bodies now use a more compact representation\u003c/em\u003e. This is generally considered a prefered style, tho may require updates to test suites.\u003c/p\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations...\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/master/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.0 (21st February, 2024)\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/encode/httpx/commit/26d48e0634e6ee9cdc0533996db289ce4b430177\"\u003e\u003ccode\u003e26d48e0\u003c/code\u003e\u003c/a\u003e Version 0.28.1 (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3445\"\u003e#3445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/89599a9541af14bcf906fc4ed58ccbdf403802ba\"\u003e\u003ccode\u003e89599a9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003everify=False\u003c/code\u003e, \u003ccode\u003ecert=...\u003c/code\u003e case. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3442\"\u003e#3442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/8ecb86f0d74ffc52d4663214fae9526bee89358d\"\u003e\u003ccode\u003e8ecb86f\u003c/code\u003e\u003c/a\u003e Add test for request params behavior changes (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3440\"\u003e#3440\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/bdarlt/mcp-repocache/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bdarlt%2Fmcp-repocache/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"3969069957","node_id":"PR_kwDOBa6FQM7FMXbq","number":605,"state":"closed","title":"Bump astroid from 4.0.4 to 4.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-20T15:39:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T15:18:47.000Z","updated_at":"2026-02-20T15:39:44.000Z","time_to_close":1247,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.4","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.4 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3d127ff812fd8cf20c44841dd13ba23d779fbc74\"\u003e\u003ccode\u003e3d127ff\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2947\"\u003e#2947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5279bf529ac5e71758cee58f4001e08d43c280f1\"\u003e\u003ccode\u003e5279bf5\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eJoinedStr\u003c/code\u003e nodes \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003eFormattedValue\u003c/code\u003e is ``Uni...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.4\u0026new-version=4.1.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/Julius2342/pyvlx/pull/605","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Julius2342%2Fpyvlx/issues/605","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/605/packages"},{"uuid":"3962073970","node_id":"PR_kwDOQpSUM87E1UCA","number":107,"state":"open","title":"chore(pip): update astroid requirement from \u003c4.0.0,\u003e=3.0.0 to \u003e=3.0.0,\u003c5.0.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-19T10:10:44.000Z","updated_at":"2026-02-19T10:18:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(pip): update","packages":[{"name":"astroid","old_version":"\u003c4.0.0,\u003e=3.0.0","new_version":"\u003e=3.0.0,\u003c5.0.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [astroid](https://github.com/pylint-dev/astroid) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.0.0...v4.1.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/deedk822-lang/vaal-ai-empire-site/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/deedk822-lang%2Fvaal-ai-empire-site/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"},{"uuid":"3945485958","node_id":"PR_kwDONnihfM7D-2WA","number":49,"state":"open","title":"Bump astroid from 4.0.2 to 4.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-16T01:55:08.000Z","updated_at":"2026-02-16T01:55:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.2 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.2...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.2\u0026new-version=4.1.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/incyi/NumberPlateGen/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/incyi%2FNumberPlateGen/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"},{"uuid":"3918755080","node_id":"PR_kwDOIatVnM7Cmx3W","number":879,"state":"open","title":":arrow_up: Bump astroid from 4.0.2 to 4.0.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-10T00:06:31.000Z","updated_at":"2026-04-19T22:05:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":":arrow_up: Bump","packages":[{"name":"astroid","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.2 to 4.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/nvuillam/github-dependents-info/pull/879","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvuillam%2Fgithub-dependents-info/issues/879","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/879/packages"},{"uuid":"3915123001","node_id":"PR_kwDOQxJ4SM7CaqDV","number":171,"state":"open","title":"Bump astroid from 4.0.3 to 4.1.0","user":"dependabot[bot]","labels":["dependencies","minor"],"assignees":["MohsenHNSJ"],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-09T08:31:07.000Z","updated_at":"2026-02-09T08:38:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.1.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/MohsenHNSJ/HamyarPaygahPy/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohsenHNSJ%2FHamyarPaygahPy/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"},{"uuid":"3914071521","node_id":"PR_kwDOLVR1zc7CXOVL","number":391,"state":"closed","title":"chore(deps-dev): bump astroid from 4.0.3 to 4.0.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-20T02:22:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T01:55:03.000Z","updated_at":"2026-02-20T02:22:18.000Z","time_to_close":952026,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/SCAICT/SCAICT-uwu/pull/391","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCAICT%2FSCAICT-uwu/issues/391","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/391/packages"},{"uuid":"3913998416","node_id":"PR_kwDODdBm-M7CW_RC","number":315,"state":"closed","title":"deps(deps): bump astroid from 4.0.3 to 4.0.4","user":"dependabot[bot]","labels":["dependencies"],"assignees":["takumi0213"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-10T02:36:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T01:19:05.000Z","updated_at":"2026-02-10T02:36:42.000Z","time_to_close":91056,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/SinaKitagami/program-team/pull/315","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SinaKitagami%2Fprogram-team/issues/315","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/315/packages"},{"uuid":"3883585413","node_id":"PR_kwDOQ_SFH87AyvXN","number":132,"state":"open","title":"Bump astroid from 3.3.11 to 4.0.3","user":"dependabot[bot]","labels":["dependencies"],"assignees":["neuron7x"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T02:19:41.000Z","updated_at":"2026-02-02T02:19:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"3.3.11","new_version":"4.0.3","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.3.11 to 4.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for boolean truthiness constraints (\u003ccode\u003ex\u003c/code\u003e, \u003ccode\u003enot x\u003c/code\u003e) in inference.\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/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a068430290b375a06f6eccdcea7d5026995172ba\"\u003e\u003ccode\u003ea068430\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.2, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a5ce4b06033ef92acdd3d8cca1df3f947936e26d\"\u003e\u003ccode\u003ea5ce4b0\u003c/code\u003e\u003c/a\u003e Upgrade pylint to 4.0.0, add mypy to the allowlist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d71bfacb94c934753c0600a9963aa77697f5c1bb\"\u003e\u003ccode\u003ed71bfac\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Handle FunctionDef blockstart_tolineno edge case...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.3.11...v4.0.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=astroid\u0026package-manager=pip\u0026previous-version=3.3.11\u0026new-version=4.0.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/neuron7x/bnsyn-phase-controlled-emergent-dynamics/pull/132","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuron7x%2Fbnsyn-phase-controlled-emergent-dynamics/issues/132","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/132/packages"},{"uuid":"3824337497","node_id":"PR_kwDOQ6K5rM69vTV9","number":8,"state":"closed","title":"deps(deps): bump astroid from 3.3.5 to 4.0.3 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-17T09:28:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-17T03:57:18.000Z","updated_at":"2026-01-17T09:28:44.000Z","time_to_close":19885,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"astroid","old_version":"3.3.5","new_version":"4.0.3","repository_url":"https://github.com/pylint-dev/astroid"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.3.5 to 4.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for boolean truthiness constraints (\u003ccode\u003ex\u003c/code\u003e, \u003ccode\u003enot x\u003c/code\u003e) in inference.\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/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a068430290b375a06f6eccdcea7d5026995172ba\"\u003e\u003ccode\u003ea068430\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.2, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a5ce4b06033ef92acdd3d8cca1df3f947936e26d\"\u003e\u003ccode\u003ea5ce4b0\u003c/code\u003e\u003c/a\u003e Upgrade pylint to 4.0.0, add mypy to the allowlist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d71bfacb94c934753c0600a9963aa77697f5c1bb\"\u003e\u003ccode\u003ed71bfac\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Handle FunctionDef blockstart_tolineno edge case...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.3.5...v4.0.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=astroid\u0026package-manager=pip\u0026previous-version=3.3.5\u0026new-version=4.0.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/zbxzrsa/AI-Based-Quality-Check-On-Project-Code-And-Architecture/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbxzrsa%2FAI-Based-Quality-Check-On-Project-Code-And-Architecture/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"3810179136","node_id":"PR_kwDOQiw2X869AAXW","number":7,"state":"closed","title":"build(deps): bump the dependencies group in /backend with 33 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-17T13:34:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-13T19:10:34.000Z","updated_at":"2026-01-17T13:34:16.000Z","time_to_close":325421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"dependencies","update_count":33,"packages":[{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"astroid","old_version":"4.0.2","new_version":"4.0.3","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"black","old_version":"25.11.0","new_version":"25.12.0","repository_url":"https://github.com/psf/black"},{"name":"cachetools","old_version":"6.2.2","new_version":"6.2.4","repository_url":"https://github.com/tkem/cachetools"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"fastapi","old_version":"0.123.5","new_version":"0.128.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"google-auth","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-genai","old_version":"1.55.0","new_version":"1.57.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"langgraph","old_version":"1.0.4","new_version":"1.0.6","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-checkpoint","old_version":"3.0.1","new_version":"4.0.0","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-prebuilt","old_version":"1.0.5","new_version":"1.0.6","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-sdk","old_version":"0.2.12","new_version":"0.3.3","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.4.50","new_version":"0.6.2","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"mem0ai","old_version":"1.0.1","new_version":"1.0.2","repository_url":"https://github.com/mem0ai/mem0"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.1","repository_url":"https://github.com/numpy/numpy"},{"name":"openai","old_version":"2.9.0","new_version":"2.15.0","repository_url":"https://github.com/openai/openai-python"},{"name":"orjson","old_version":"3.11.4","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"ormsgpack","old_version":"1.12.0","new_version":"1.12.1","repository_url":"https://github.com/aviramha/ormsgpack"},{"name":"pathspec","old_version":"0.12.1","new_version":"1.0.3","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"platformdirs","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"posthog","old_version":"7.0.1","new_version":"7.5.1","repository_url":"https://github.com/posthog/posthog-python"},{"name":"proto-plus","old_version":"1.26.1","new_version":"1.27.0","repository_url":"https://github.com/googleapis/proto-plus-python"},{"name":"pymongo","old_version":"4.15.5","new_version":"4.16.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"qdrant-client","old_version":"1.16.1","new_version":"1.16.2","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"ruff","old_version":"0.14.9","new_version":"0.14.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"sqlalchemy","old_version":"2.0.44","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"starlette","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomlkit","old_version":"0.13.3","new_version":"0.14.0","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"websockets","old_version":"15.0.1","new_version":"16.0","repository_url":"https://github.com/python-websockets/websockets"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps the dependencies group in /backend with 33 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.2` | `4.0.3` |\n| [black](https://github.com/psf/black) | `25.11.0` | `25.12.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.2` | `6.2.4` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.5` | `0.128.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.43.0` | `2.47.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.55.0` | `1.57.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.0` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.0.4` | `1.0.6` |\n| [langgraph-checkpoint](https://github.com/langchain-ai/langgraph) | `3.0.1` | `4.0.0` |\n| [langgraph-prebuilt](https://github.com/langchain-ai/langgraph) | `1.0.5` | `1.0.6` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.2.12` | `0.3.3` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.4.50` | `0.6.2` |\n| [mem0ai](https://github.com/mem0ai/mem0) | `1.0.1` | `1.0.2` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.1` |\n| [openai](https://github.com/openai/openai-python) | `2.9.0` | `2.15.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.4` | `3.11.5` |\n| [ormsgpack](https://github.com/aviramha/ormsgpack) | `1.12.0` | `1.12.1` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `0.12.1` | `1.0.3` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.0` | `4.5.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `7.0.1` | `7.5.1` |\n| [proto-plus](https://github.com/googleapis/proto-plus-python) | `1.26.1` | `1.27.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.15.5` | `4.16.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.16.1` | `1.16.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.9` | `0.14.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.44` | `2.0.45` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.51.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.3` | `0.14.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0.1` | `16.0` |\n\nUpdates `anyio` from 4.12.0 to 4.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged all functions currently raising the private \u003ccode\u003eNoCurrentAsyncBackend\u003c/code\u003e exception (since v4.12.0) to instead raise the public \u003ccode\u003eNoEventLoopError\u003c/code\u003e exception (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1048\"\u003e#1048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with instance methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1042\"\u003e#1042\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/agronholm/anyio/commit/a0dccbd78d75886247ae7846b460fd390cc94fbd\"\u003e\u003ccode\u003ea0dccbd\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/e1121a735c977c00c18b3a581d28daf83a279833\"\u003e\u003ccode\u003ee1121a7\u003c/code\u003e\u003c/a\u003e Enabled tests for the 4.12.x branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/69ab43e549517ce554f84365fed9da90e806c303\"\u003e\u003ccode\u003e69ab43e\u003c/code\u003e\u003c/a\u003e Fixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/4f4b33ed56edd1bc4785a368a103ad8138730d91\"\u003e\u003ccode\u003e4f4b33e\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eBlockingPortal.__new__\u003c/code\u003e hack (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/af17d89b80ebbd526215e2dbd025b284730aaa3f\"\u003e\u003ccode\u003eaf17d89\u003c/code\u003e\u003c/a\u003e Replaced the NoCurrentAsyncBackend exception with NoEventLoopError (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/4310264312a2e86e792481bdb05bdb381678a6b5\"\u003e\u003ccode\u003e4310264\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/0cc6723ba5a2fdaa98a24852d3681c4ed99b8863\"\u003e\u003ccode\u003e0cc6723\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.0...4.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.2 to 4.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.2...v4.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.11.0 to 25.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003cp\u003ePlease test out the draft 2026 style in version 26.1a1! This style will be finalized in\nthe January release (26.1.0). Most of the changes in \u003ccode\u003e--preview\u003c/code\u003e will be in the 2026\nstable style, but not all.\n\u003ca href=\"https://redirect.github.com/psf/black/issues/4042\"\u003ePlease share your feedback!\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release (25.12.0) will still produce the 2025 style.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\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/psf/black/commit/782e5605c86aab56be6f905da10dcd3e463fd9c2\"\u003e\u003ccode\u003e782e560\u003c/code\u003e\u003c/a\u003e Pin actions/checkout@v5.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/f0f40945c1b0ebaa9ca733aca517610574c451d6\"\u003e\u003ccode\u003ef0f4094\u003c/code\u003e\u003c/a\u003e Fix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/70fc194172184861aafb418c124824cae0fbe3b0\"\u003e\u003ccode\u003e70fc194\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions\u0026quot; (\u003ca href=\"https://redirect.github.com/psf/black/issues/4893\"\u003e#4893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7044b145f4826e0d6e07178d89666856a8e37aff\"\u003e\u003ccode\u003e7044b14\u003c/code\u003e\u003c/a\u003e Prepare 25.12.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/5b470f0e577f3c39e0f7d668934d587c0733a652\"\u003e\u003ccode\u003e5b470f0\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4883\"\u003e#4883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1b342ef5b0433fc1ed61a7e05a65744bef706fc9\"\u003e\u003ccode\u003e1b342ef\u003c/code\u003e\u003c/a\u003e Fix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in multi-part if-clau...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7b265f16634155dafcca65f6122ef7ed8d14a67f\"\u003e\u003ccode\u003e7b265f1\u003c/code\u003e\u003c/a\u003e Pin Hatch to hopefully fix Docker builds (\u003ca href=\"https://redirect.github.com/psf/black/issues/4878\"\u003e#4878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c9523f463fdc9d9f9f0e61ca92d9b37acdf0d8fc\"\u003e\u003ccode\u003ec9523f4\u003c/code\u003e\u003c/a\u003e Attempt to fix Docker build failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4876\"\u003e#4876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0f376e0c35bcb29f87ce18eace30333a3e105841\"\u003e\u003ccode\u003e0f376e0\u003c/code\u003e\u003c/a\u003e Fix crashes when fmt directives are indented (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/a8bfcc1040fdfce2e02cdd85dc8bf4e7abe0462f\"\u003e\u003ccode\u003ea8bfcc1\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.11.0...25.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachetools` from 6.2.2 to 6.2.4\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\u003ev6.2.4 (2025-12-15)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix license information displayed on PyPI be using an updated\nversion of \u003ccode\u003etwine\u003c/code\u003e for uploading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev6.2.3 (2025-12-12)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImprove documentation regarding \u003ccode\u003e@cachedmethod\u003c/code\u003e with \u003ccode\u003econdition\u003c/code\u003e\nparameter.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMinor style and readability improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModernize build environment.\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/9983ef8bd76758707ab9d197d4bd9fa47b4fb8bd\"\u003e\u003ccode\u003e9983ef8\u003c/code\u003e\u003c/a\u003e Bump version for uploading with updated twine.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/c9354683857b10b5e00cb93d06f7549ac8344fc0\"\u003e\u003ccode\u003ec935468\u003c/code\u003e\u003c/a\u003e Release v6.2.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/94d1099e6e79d34c436dc9f5d1cc039bcbf76738\"\u003e\u003ccode\u003e94d1099\u003c/code\u003e\u003c/a\u003e Prepare v6.2.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/af8b7d4ffa48d5947161ddb8c1ef1c60dda1e816\"\u003e\u003ccode\u003eaf8b7d4\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/372\"\u003e#372\u003c/a\u003e: Convert setup.cfg to pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/20b8a192f666420a1986b793fd5846b89fdcd647\"\u003e\u003ccode\u003e20b8a19\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/370\"\u003e#370\u003c/a\u003e: Mention that using \u003ca href=\"https://github.com/cachedmethod\"\u003e\u003ccode\u003e@​cachedmethod\u003c/code\u003e\u003c/a\u003e with condition requires self to be...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/116fb4c3459067442d731e01a3db4694b50722f1\"\u003e\u003ccode\u003e116fb4c\u003c/code\u003e\u003c/a\u003e Minor style and readability improvements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/96546ea34f8c77df009fb3bc019b72b03589c3fd\"\u003e\u003ccode\u003e96546ea\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/0106cc1d4764c9a94cd39a55579ce49bca9f4e1e\"\u003e\u003ccode\u003e0106cc1\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tkem/cachetools/compare/v6.2.2...v6.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.11.12 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.11.12...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.123.5 to 0.128.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.128.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14609\"\u003e#14609\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✅ Run performance tests only on Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14608\"\u003e#14608\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.127.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14605\"\u003e#14605\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add documentary to website. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14600\"\u003e#14600\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 de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14602\"\u003e#14602\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14581\"\u003e#14581\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Update pre-commit to use local Ruff instead of hook. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14604\"\u003e#14604\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Add missing tests for code examples. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14569\"\u003e#14569\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👷 Remove \u003ccode\u003elint\u003c/code\u003e job from \u003ccode\u003etest\u003c/code\u003e CI workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14593\"\u003e#14593\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 secrets check. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14592\"\u003e#14592\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👷 Run CodSpeed tests in parallel to other tests to speed up CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14586\"\u003e#14586\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 scripts and pre-commit to autofix files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14585\"\u003e#14585\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.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8322a4445a3b25acd9b26b61192571b2d92f9bcd\"\u003e\u003ccode\u003e8322a44\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.128.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b2cfcfd34d0b2e158a05b377426e0c8376b94de\"\u003e\u003ccode\u003e4b2cfcf\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3006305518a56ea35f62a31748ad26fe4356fcc\"\u003e\u003ccode\u003ee300630\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14609\"\u003e#14609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1b3bea8b6be2220cc1544653ea785d2134fcb35b\"\u003e\u003ccode\u003e1b3bea8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/34e884156f38dff4094a7764ff895c4d4b872060\"\u003e\u003ccode\u003e34e8841\u003c/code\u003e\u003c/a\u003e ✅ Run performance tests only on Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14608\"\u003e#14608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cd90c78391f86f3fd06d5b327bffad9666b05b44\"\u003e\u003ccode\u003ecd90c78\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/93f4dfd88b7d62bda89eb521ebd9322e357e6fff\"\u003e\u003ccode\u003e93f4dfd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/535b5daa317a9d1d1f9a1058e57650a7beefa861\"\u003e\u003ccode\u003e535b5da\u003c/code\u003e\u003c/a\u003e 🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14605\"\u003e#14605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b53786f626db95a42fd0f66afd360bab161f4b1\"\u003e\u003ccode\u003e6b53786\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d98f4eb56eae3155034fe631d9639d95171fb9ab\"\u003e\u003ccode\u003ed98f4eb\u003c/code\u003e\u003c/a\u003e 🔧 Update pre-commit to use local Ruff instead of hook (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14604\"\u003e#14604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.5...0.128.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.43.0 to 2.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.47.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4\"\u003e5c07e1c4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc2001\"\u003e60dc2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.46.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d5\"\u003e0b9107d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631\"\u003e02e71631\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f\"\u003e12f4470f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588\"\u003e59a5f588\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d001470\"\u003e5d001470\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e09\"\u003e94d04e09\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531c\"\u003ec767531c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2\"\u003e3f1aeea2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2d1014ea1d244a4c3470e52d74d55404b\"\u003e3f1aeea2d1014ea1d244a4c3470e52d74d55404b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e0b9107d573123e358c347ffa067637f992af61b4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588f7793b59d923a4185c8c07738da618f7\"\u003e59a5f588f7793b59d923a4185c8c07738da618f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d0014707fc359782df5ccfcaa75fd372fe9dce3\"\u003e5d0014707fc359782df5ccfcaa75fd372fe9dce3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531ce05a89002d109f595187aff1fcaacfb7\"\u003ec767531ce05a89002d109f595187aff1fcaacfb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f808809e8abf1141f98d88ab720c3899b\"\u003e12f4470f808809e8abf1141f98d88ab720c3899b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e090fdfc61926dd32bc1d65f8820b9cede5\"\u003e94d04e090fdfc61926dd32bc1d65f8820b9cede5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631fe275d93825c2e957e830773e75133f7\"\u003e02e71631fe275d93825c2e957e830773e75133f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/f32301a03372eb72a8b5542a4cc223e01ee1e33b\"\u003e\u003ccode\u003ef32301a\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260106T130342Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1922\"\u003e#1922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25f4ca658c1880c7a27ed817ded4c17d84c26854\"\u003e\u003ccode\u003e25f4ca6\u003c/code\u003e\u003c/a\u003e chore: remove Python 3.7 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1919\"\u003e#1919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e\u003ccode\u003e60dc200\u003c/code\u003e\u003c/a\u003e fix: Python 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e\u003ccode\u003e5c07e1c\u003c/code\u003e\u003c/a\u003e feat: drop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2cbc2a2e2e75e8797bf3709eb1e624ad39e7e7d4\"\u003e\u003ccode\u003e2cbc2a2\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260105T122553Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5b7b5d83adafe275351989a96328472b1845c4be\"\u003e\u003ccode\u003e5b7b5d8\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20260105T112538Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/7dbf05a56c5c8f1c01f985af140dc8c5ea29656a\"\u003e\u003ccode\u003e7dbf05a\u003c/code\u003e\u003c/a\u003e chore: rename _refresh_token to _perform_refresh_token (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1900\"\u003e#1900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/855a45af913a5d099e30036b80d8ba3b0c324a62\"\u003e\u003ccode\u003e855a45a\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/77c8bc48b5638cbe8c4415fdd378853e9db6e156\"\u003e\u003ccode\u003e77c8bc4\u003c/code\u003e\u003c/a\u003e tests: make the TLS tests skip when pyopenssl isn't available (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e\u003ccode\u003e0b9107d\u003c/code\u003e\u003c/a\u003e feat: Recognize workload certificate config in has_default_client_cert_source...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.55.0 to 1.57.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.57.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.56.0...v1.57.0\"\u003e1.57.0\u003c/a\u003e (2026-01-07)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Python] add RegisterFiles so gcs files can be used with genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68fa0754290bcbd84c1c34806eedfdad28890921\"\u003e68fa075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3-pro-preview support for local tokenizer (\u003ca href=\"https://github.com/googleapis/python-genai/commit/48f8256202a9ea3abfb7790fa80fcbf68e541131\"\u003e48f8256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PersonGeneration to ImageConfig for Vertex Gempix (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c66e0ce16bc1385969b66d3f266269ac9aafad73\"\u003ec66e0ce\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove validation for empty text parts on Chat, this will support keeping the history in chat when the API yields back such a part. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/215c8524659c0b2ca945b6cd7887b3501db61be4\"\u003e215c852\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.56.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b4c063e7f213092e5cb25a7ad0783540dc7a982e\"\u003eb4c063e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecodegen_instructions.md\u003c/code\u003e for Gemini 3 Flash (\u003ca href=\"https://github.com/googleapis/python-genai/commit/22500b5ef99fb8e2d3f476da10164b08e8485a6f\"\u003e22500b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Virtual Try-On model id in samples and docstrings (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5bf4d625f3b3965260ea5dcc1427f8b6a6845eab\"\u003e5bf4d62\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.56.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.55.0...v1.56.0\"\u003e1.56.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal and medium thinking levels. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/96d644cd52a300063040c6d7bf70e2939b735e6f\"\u003e96d644c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Struct in ToolResult Content. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8fd4886a04396683f75a54887f768c312e1b73b7\"\u003e8fd4886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ultra high resolution to the media resolution in Parts. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/356c320566a7ff512c680bcf60b678648b342829\"\u003e356c320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ULTRA_HIGH MediaResolution and new ThinkingLevel enums (\u003ca href=\"https://github.com/googleapis/python-genai/commit/336b8236c0e7c16d581226ed3438453dddf66119\"\u003e336b823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDefine and use DocumentMimeType for DocumentContent (\u003ca href=\"https://github.com/googleapis/python-genai/commit/dc7f00f78b74bfdeab4b20121a4c2c2ba3065daa\"\u003edc7f00f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi speaker for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ecb00c22414dc578cf7db760591a4086a541d72a\"\u003eecb00c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApi version handling for interactions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/436ca2e1d536d57d662284b6b1079215de3d787f\"\u003e436ca2e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation for the new Interactions API (Preview). (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e28a69c92a7c770400b329cad714c2b612829fe0\"\u003ee28a69c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate and restructure codegen_instructions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/00422de07b133a19246f91ac77e7da41dc471e74\"\u003e00422de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs for 1.55 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc43e7d066eeb95c77409d01fd8f5652d32847a\"\u003e1cc43e7\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/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.56.0...v1.57.0\"\u003e1.57.0\u003c/a\u003e (2026-01-07)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Python] add RegisterFiles so gcs files can be used with genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68fa0754290bcbd84c1c34806eedfdad28890921\"\u003e68fa075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3-pro-preview support for local tokenizer (\u003ca href=\"https://github.com/googleapis/python-genai/commit/48f8256202a9ea3abfb7790fa80fcbf68e541131\"\u003e48f8256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PersonGeneration to ImageConfig for Vertex Gempix (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c66e0ce16bc1385969b66d3f266269ac9aafad73\"\u003ec66e0ce\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove validation for empty text parts on Chat, this will support keeping the history in chat when the API yields back such a part. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/215c8524659c0b2ca945b6cd7887b3501db61be4\"\u003e215c852\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.56.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b4c063e7f213092e5cb25a7ad0783540dc7a982e\"\u003eb4c063e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecodegen_instructions.md\u003c/code\u003e for Gemini 3 Flash (\u003ca href=\"https://github.com/googleapis/python-genai/commit/22500b5ef99fb8e2d3f476da10164b08e8485a6f\"\u003e22500b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Virtual Try-On model id in samples and docstrings (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5bf4d625f3b3965260ea5dcc1427f8b6a6845eab\"\u003e5bf4d62\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.55.0...v1.56.0\"\u003e1.56.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal and medium thinking levels. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/96d644cd52a300063040c6d7bf70e2939b735e6f\"\u003e96d644c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Struct in ToolResult Content. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8fd4886a04396683f75a54887f768c312e1b73b7\"\u003e8fd4886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ultra high resolution to the media resolution in Parts. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/356c320566a7ff512c680bcf60b678648b342829\"\u003e356c320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ULTRA_HIGH MediaResolution and new ThinkingLevel enums (\u003ca href=\"https://github.com/googleapis/python-genai/commit/336b8236c0e7c16d581226ed3438453dddf66119\"\u003e336b823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDefine and use DocumentMimeType for DocumentContent (\u003ca href=\"https://github.com/googleapis/python-genai/commit/dc7f00f78b74bfdeab4b20121a4c2c2ba3065daa\"\u003edc7f00f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi speaker for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ecb00c22414dc578cf7db760591a4086a541d72a\"\u003eecb00c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApi version handling for interactions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/436ca2e1d536d57d662284b6b1079215de3d787f\"\u003e436ca2e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation for the new Interactions API (Preview). (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e28a69c92a7c770400b329cad714c2b612829fe0\"\u003ee28a69c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate and restructure codegen_instructions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/00422de07b133a19246f91ac77e7da41dc471e74\"\u003e00422de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs for 1.55 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc43e7d066eeb95c77409d01fd8f5652d32847a\"\u003e1cc43e7\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/googleapis/python-genai/commit/28bd0e832ab55facc81c0ef72567da6d83b6f308\"\u003e\u003ccode\u003e28bd0e8\u003c/code\u003e\u003c/a\u003e chore(main): release 1.57.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1878\"\u003e#1878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/68fa0754290bcbd84c1c34806eedfdad28890921\"\u003e\u003ccode\u003e68fa075\u003c/code\u003e\u003c/a\u003e feat: [Python] add RegisterFiles so gcs files can be used with genai.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5bf4d625f3b3965260ea5dcc1427f8b6a6845eab\"\u003e\u003ccode\u003e5bf4d62\u003c/code\u003e\u003c/a\u003e docs: Update Virtual Try-On model id in samples and docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/215c8524659c0b2ca945b6cd7887b3501db61be4\"\u003e\u003ccode\u003e215c852\u003c/code\u003e\u003c/a\u003e fix: Remove validation for empty text parts on Chat, this will support keepin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/930c7ca7d5b696d3388fe16fb724184eb88c6a65\"\u003e\u003ccode\u003e930c7ca\u003c/code\u003e\u003c/a\u003e chore: bump google auth lower bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/22816779439868df804fadf2f4335fc7f36b4495\"\u003e\u003ccode\u003e2281677\u003c/code\u003e\u003c/a\u003e refactor: Introduce a top-level Content type alias\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/48f8256202a9ea3abfb7790fa80fcbf68e541131\"\u003e\u003ccode\u003e48f8256\u003c/code\u003e\u003c/a\u003e feat: Add gemini-3-pro-preview support for local tokenizer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/db1a7335f17bc916f83da3596df6175d40d3862b\"\u003e\u003ccode\u003edb1a733\u003c/code\u003e\u003c/a\u003e chore: Update Interactions base client initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/f16142bc74a36c0fc7ef4a22abaf0d3250ef233f\"\u003e\u003ccode\u003ef16142b\u003c/code\u003e\u003c/a\u003e chore: Rename total_reasoning_tokens to total_thought_tokens.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/0de263e8a42af5fc5a061d25d53a2e2e35a348e6\"\u003e\u003ccode\u003e0de263e\u003c/code\u003e\u003c/a\u003e chore: Remove the 'object' field from Interaction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.55.0...v1.57.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.4 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.0 (2025-12-04)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitch to distributing manylinux_2_28 wheels instead of\nmanylinux2014 wheels. Likewise, switch from musllinux_1_1 to 1_2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial support for free-threaded builds of CPython 3.14. Due to\nlimitations, we do not distribute binary wheels for free-threaded\nCPython on Windows. (Free-threaded CPython 3.13 may work, but is\nuntested and unsupported.)\u003c/p\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cp\u003eUnder some rare scenarios with free-threaded 3.14, the\ninterpreter may crash on accessing a variable or attribute or\nwhen shutting down. If this happens, try disabling the\nthread-local bytecode cache. See the greenlet documentation for\nmore details. See \u003ccode\u003ePR 472 by T. Wouters \u0026lt;https://github.com/python-greenlet/greenlet/pull/472\u0026gt;\u003c/code\u003e_ for the\ninitial free-threaded support and a discussion of the current\nknown issues.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0f904314e2fe11835bdff9d928f9f039116aebff\"\u003e\u003ccode\u003e0f90431\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/296058a43da5a76c2406a91aa998413b93537940\"\u003e\u003ccode\u003e296058a\u003c/code\u003e\u003c/a\u003e Tweak changelog. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4392ab171036bf73cc64ed47109e0d2e1f41275\"\u003e\u003ccode\u003ed4392ab\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e6fead23d967fd6194c5a1eaa48d55a07b4bda40\"\u003e\u003ccode\u003ee6fead2\u003c/code\u003e\u003c/a\u003e Update docs regarding free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b134610187f94a641e0cf40be56992c8e9f667\"\u003e\u003ccode\u003ed5b1346\u003c/code\u003e\u003c/a\u003e 3.14: Save/restore PyInterpreterFrame.stackpointer.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b54c4bdaaade13139d54005df51a9d21df5db7c4\"\u003e\u003ccode\u003eb54c4bd\u003c/code\u003e\u003c/a\u003e Fix some crashes with CPython assertions enabled, pointing to things we were ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/47e99259263968560422c9b69bc8c50f9068cf87\"\u003e\u003ccode\u003e47e9925\u003c/code\u003e\u003c/a\u003e Add a test that we're not enabling the GIL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0778d50792888afa043c8a368085358c3fea0146\"\u003e\u003ccode\u003e0778d50\u003c/code\u003e\u003c/a\u003e Use our Python allocator on free-threaded builds, but do it correctly with Py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5f661f4f5a023438e944d36e4f255c7a706ae998\"\u003e\u003ccode\u003e5f661f4\u003c/code\u003e\u003c/a\u003e Add free-threaded CI builds and manylinux builds; update manylinux away from ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5331b0ad33a7380b91d8a9849f61aa61b7b1ade2\"\u003e\u003ccode\u003e5331b0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/475\"\u003e#475\u003c/a\u003e from clin1234/capi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.2.4...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph` from 1.0.4 to 1.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph-prebuilt==1.0.6\u003c/h2\u003e\n\u003cp\u003eChanges since prebuilt==1.0.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(prebuilt): support generic type arguments for ToolRuntime injection (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add \u003ccode\u003estate\u003c/code\u003e attribute to \u003ccode\u003eToolCallRequest\u003c/code\u003e overrides (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6668\"\u003e#6668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: suppress unintended deprecation warning (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6669\"\u003e#6669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: x-refs and explainer in tool node docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6653\"\u003e#6653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: \u003ccode\u003eToolNode\u003c/code\u003e nit (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6652\"\u003e#6652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(checkpoint): Validate checkpointer type at compile time (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6586\"\u003e#6586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): bump to 1.0.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6582\"\u003e#6582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-postgres): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6568\"\u003e#6568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-sqlite): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: custom encryption at rest (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Bump lockfile (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6537\"\u003e#6537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Include pagination in assistants search response (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6526\"\u003e#6526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): 1.0.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6502\"\u003e#6502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(sdk-py): Add more type checking. (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6479\"\u003e#6479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: interrupt stream mode values (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6475\"\u003e#6475\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.6\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: change default recursion limit (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6676\"\u003e#6676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: sanitize namespace for deeply nested graph jumps (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6665\"\u003e#6665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: typo: saved the world \u0026quot;BaseMessge\u0026quot; to \u0026quot;BaseMessage\u0026quot;  (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6639\"\u003e#6639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(cli): relax api bounds (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6606\"\u003e#6606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(checkpoint): Validate checkpointer type at compile time (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6586\"\u003e#6586\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eprebuilt==1.0.5\u003c/h2\u003e\n\u003cp\u003eChanges since prebuilt==1.0.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: langgraph-prebuilt 1.0.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6473\"\u003e#6473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: refactor injection logic to respect function signatures (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6468\"\u003e#6468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: deprecate \u003ccode\u003esetattr\u003c/code\u003e on \u003ccode\u003eToolCallRequest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6462\"\u003e#6462\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.5\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): bump to 1.0.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6582\"\u003e#6582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): emit id as part of stream events (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6581\"\u003e#6581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update readme (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6570\"\u003e#6570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-postgres): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6568\"\u003e#6568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-sqlite): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(cli): Pass through webhook configuration in dev server (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6557\"\u003e#6557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: custom encryption at rest (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: fix links for docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6538\"\u003e#6538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Bump lockfile (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6537\"\u003e#6537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Include pagination in assistants search response (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6526\"\u003e#6526\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/langchain-ai/langgraph/commit/f91d79d0c86932ded6e3b9f195d5a0bbd5aef99c\"\u003e\u003ccode\u003ef91d79d\u003c/code\u003e\u003c/a\u003e fix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/cb2faa7dda0f2ea49d2729361e1802fb233feaa5\"\u003e\u003ccode\u003ecb2faa7\u003c/code\u003e\u003c/a\u003e fix(prebuilt): support generic type arguments for ToolRuntime injection (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/a5827c5c6193669d3063897e1845a45cfb90d732\"\u003e\u003ccode\u003ea5827c5\u003c/code\u003e\u003c/a\u003e fix: change default recursion limit (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6676\"\u003e#6676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/5212369bd0791806083f183cb19ccce024db8790\"\u003e\u003ccode\u003e5212369\u003c/code\u003e\u003c/a\u003e feat(sdk-py): add end-time to crons client (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6674\"\u003e#6674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/7045a23148bfb7c7de825776531d163f22241aaa\"\u003e\u003ccode\u003e7045a23\u003c/code\u003e\u003c/a\u003e fix: add \u003ccode\u003estate\u003c/code\u003e attribute to \u003ccode\u003eToolCallRequest\u003c/code\u003e overrides (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6668\"\u003e#6668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/728db10b1f38c9c56f097d2847f0330977d5eba2\"\u003e\u003ccode\u003e728db10\u003c/code\u003e\u003c/a\u003e fix: suppress unintended deprecation warning (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6669\"\u003e#6669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/454af218968b2962b4beeb9a28b9d421f0610694\"\u003e\u003ccode\u003e454af21\u003c/code\u003e\u003c/a\u003e feat(sdk-py): cron.on_run_completed support (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6662\"\u003e#6662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/b4630d84520e5f8b6c6580f15cd7dada214ef657\"\u003e\u003ccode\u003eb4630d8\u003c/code\u003e\u003c/a\u003e chore: delete docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6488\"\u003e#6488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/311465bbf7751829942b92bc28c5a79e0666710f\"\u003e\u003ccode\u003e311465b\u003c/code\u003e\u003c/a\u003e fix: sanitize namespace for deeply nested graph jumps (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6665\"\u003e#6665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/8ccead9560f6cd76537f632d7a310ba41e38f28b\"\u003e\u003ccode\u003e8ccead9\u003c/code\u003e\u003c/a\u003e docs: x-refs and explainer in tool node docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6653\"\u003e#6653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/1.0.4...1.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph-checkpoint` from 3.0.1 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph-checkpoint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph-checkpoint==4.0.0\u003c/h2\u003e\n\u003cp\u003eChanges since checkpoint==3.0.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(checkpoint): InMemorySaver context managers should return self in… (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6529\"\u003e#6529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: docstring for serializer protocol (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6525\"\u003e#6525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: clean up some refs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6487\"\u003e#6487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: add \u003ccode\u003epyproject.toml\u003c/code\u003e links (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6364\"\u003e#6364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-checkpoint-postgres==3.0.3\u003c/h2\u003e\n\u003cp\u003eChanges since checkpointpostgres==3.0.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: storage nits (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6651\"\u003e#6651\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-checkpoint-postgres==3.0.2\u003c/h2\u003e\n\u003cp\u003eChanges since checkpointpostgres==3.0.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(checkpoint-postgres): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6568\"\u003e#6568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: pgqs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6567\"\u003e#6567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(checkpoint-postgres): ensure vector extension is created only if not exists (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6154\"\u003e#6154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(checkpoint-postgres): Replace f-string SQL formatting with parameterized queries in migration statements (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6328\"\u003e#6328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: add \u003ccode\u003epyproject.toml\u003c/code\u003e links (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6364\"\u003e#6364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add license files for checkpoint-sqlite and checkpoint-postgres (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6392\"\u003e#6392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-checkpoint-sqlite==3.0.2\u003c/h2\u003e\n\u003cp\u003eChanges since checkpointsqlite==3.0.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: storage nits (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6651\"\u003e#6651\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/langchain-ai/langgraph/commit/f91d79d0c86932ded6e3b9f195d5a0bbd5aef99c\"\u003e\u003ccode\u003ef91d79d\u003c/code\u003e\u003c/a\u003e fix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/cb2faa7dda0f2e...\n\n_Description has been truncated_","html_url":"https://github.com/colutti/aitrainer/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/colutti%2Faitrainer/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}],"issue_packages":[{"old_version":"3.3.11","new_version":"4.0.4","update_type":"major","path":null,"pr_created_at":"2026-05-25T04:41:50.000Z","version_change":"3.3.11 → 4.0.4","issue":{"uuid":"4514318366","node_id":"PR_kwDOERpozs7e6EfY","number":1059,"state":"open","title":"Deps: Bump the python-packages group with 27 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T04:41:50.000Z","updated_at":"2026-05-25T04:43:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Deps: Bump","group_name":"python-packages","update_count":27,"packages":[{"name":"django","old_version":"4.2.30","new_version":"5.2.14","repository_url":"https://github.com/django/django"},{"name":"djangorestframework","old_version":"3.16.1","new_version":"3.17.1","repository_url":"https://github.com/encode/django-rest-framework"},{"name":"weasyprint","old_version":"66.0","new_version":"68.1","repository_url":"https://github.com/Kozea/WeasyPrint"},{"name":"pylint","old_version":"3.3.9","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-django","old_version":"4.11.1","new_version":"4.12.0","repository_url":"https://github.com/pytest-dev/pytest-django"},{"name":"pytest-env","old_version":"1.1.5","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pytest-env"},{"name":"pontos","old_version":"26.2.0","new_version":"26.5.0","repository_url":"https://github.com/greenbone/pontos"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"astroid","old_version":"3.3.11","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.4.22","new_version":"2026.5.20","repository_url":"https://github.com/certifi/python-certifi"},{"name":"coverage","old_version":"7.10.7","new_version":"7.14.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cssselect2","old_version":"0.8.0","new_version":"0.9.0","repository_url":"https://github.com/Kozea/cssselect2"},{"name":"fonttools","old_version":"4.60.2","new_version":"4.63.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"idna","old_version":"3.15","new_version":"3.16","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"isort","old_version":"6.1.0","new_version":"8.0.1","repository_url":"https://github.com/PyCQA/isort"},{"name":"lxml","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/lxml/lxml"},{"name":"markdown-it-py","old_version":"3.0.0","new_version":"4.2.0","repository_url":"https://github.com/executablebooks/markdown-it-py"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.9.6","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pydyf","old_version":"0.11.0","new_version":"0.12.1","repository_url":"https://github.com/CourtBouillon/pydyf"},{"name":"requests","old_version":"2.32.5","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"tinyhtml5","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/CourtBouillon/tinyhtml5"},{"name":"zopfli","old_version":"0.2.3.post1","new_version":"0.4.1","repository_url":"https://github.com/fonttools/py-zopfli"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 27 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `4.2.30` | `5.2.14` |\n| [djangorestframework](https://github.com/encode/django-rest-framework) | `3.16.1` | `3.17.1` |\n| [weasyprint](https://github.com/Kozea/WeasyPrint) | `66.0` | `68.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `3.3.9` | `4.0.5` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.3` |\n| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.11.1` | `4.12.0` |\n| [pytest-env](https://github.com/pytest-dev/pytest-env) | `1.1.5` | `1.6.0` |\n| [pontos](https://github.com/greenbone/pontos) | `26.2.0` | `26.5.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [astroid](https://github.com/pylint-dev/astroid) | `3.3.11` | `4.0.4` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.4.22` | `2026.5.20` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.14.0` |\n| [cssselect2](https://github.com/Kozea/cssselect2) | `0.8.0` | `0.9.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.2` | `4.63.0` |\n| [idna](https://github.com/kjd/idna) | `3.15` | `3.16` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `8.0.1` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.0` | `6.1.1` |\n| [markdown-it-py](https://github.com/executablebooks/markdown-it-py) | `3.0.0` | `4.2.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.9.6` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pydyf](https://github.com/CourtBouillon/pydyf) | `0.11.0` | `0.12.1` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.34.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.14` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [tinyhtml5](https://github.com/CourtBouillon/tinyhtml5) | `2.0.0` | `2.1.0` |\n| [zopfli](https://github.com/fonttools/py-zopfli) | `0.2.3.post1` | `0.4.1` |\n\nUpdates `django` from 4.2.30 to 5.2.14\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/024c26b1e77ea5b1b158265167ade47927a64c06\"\u003e\u003ccode\u003e024c26b\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.14 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/2115d4eaee15107f5cd290d7cfcc5ffe3ad43661\"\u003e\u003ccode\u003e2115d4e\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2026-6907 -- Prevented caching of requests when Vary header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/47cf968c125e3fab317e10fe150ec479e745f995\"\u003e\u003ccode\u003e47cf968\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2026-35192 -- Ensured Vary header is sent when setting sess...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/2ec27eda3ba6c14f0856e6e3eb1df07c41fd95e6\"\u003e\u003ccode\u003e2ec27ed\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2026-5766 -- Enforced DATA_UPLOAD_MAX_MEMORY_SIZE in Memory...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ed18840c8cd1be81fdb3955cbfc9459989d6df68\"\u003e\u003ccode\u003eed18840\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed typo in stub release notes for 5.2.14.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/de3f622b7fa72aee68650f15263f2788b626680a\"\u003e\u003ccode\u003ede3f622\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.14.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/fb61c8a6e902abc885048a1a78592a4bd4329f87\"\u003e\u003ccode\u003efb61c8a\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs CVE-2026-4292 -- Isolated new test in AdminViewListEditable.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/bd1a7583061a96059ea560eb7b59bebce4240778\"\u003e\u003ccode\u003ebd1a758\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed two issues in release helper scripts/verify_release.sh.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/da57aaad76e674fdb01b741974acf229d3ac4132\"\u003e\u003ccode\u003eda57aaa\u003c/code\u003e\u003c/a\u003e [5.2.x] Added CVE-2026-3902, CVE-2026-4277, CVE-2026-4292, CVE-2026-33033, an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/c9a8bdbc4839a442b1a0453bd8ed38def4776139\"\u003e\u003ccode\u003ec9a8bdb\u003c/code\u003e\u003c/a\u003e [5.2.x] Post-release version bump.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.30...5.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `djangorestframework` from 3.16.1 to 3.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/django-rest-framework/releases\"\u003edjangorestframework's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.17.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eHTMLFormRenderer\u003c/code\u003e with empty \u003ccode\u003edatetime\u003c/code\u003e values by \u003ca href=\"https://github.com/p-r-a-v-i-n\"\u003e\u003ccode\u003e@​p-r-a-v-i-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9928\"\u003eencode/django-rest-framework#9928\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/django-rest-framework/compare/3.17.0...3.17.1\"\u003ehttps://github.com/encode/django-rest-framework/compare/3.17.0...3.17.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.17.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 by \u003ca href=\"https://github.com/auvipy\"\u003e\u003ccode\u003e@​auvipy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9781\"\u003eencode/django-rest-framework#9781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop deprecated coreapi support by \u003ca href=\"https://github.com/browniebroke\"\u003e\u003ccode\u003e@​browniebroke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9895\"\u003eencode/django-rest-framework#9895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to specify output format for \u003ccode\u003eDurationField\u003c/code\u003e by \u003ca href=\"https://github.com/sevdog\"\u003e\u003ccode\u003e@​sevdog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/8532\"\u003eencode/django-rest-framework#8532\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing decorators: \u003ccode\u003e@versioning_class()\u003c/code\u003e, \u003ccode\u003e@content_negotiation_class()\u003c/code\u003e, \u003ccode\u003e@metadata_class()\u003c/code\u003e for function-based views by \u003ca href=\"https://github.com/qqii\"\u003e\u003ccode\u003e@​qqii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9719\"\u003eencode/django-rest-framework#9719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9780\"\u003eencode/django-rest-framework#9780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eviolation_error_code\u003c/code\u003e and \u003ccode\u003eviolation_error_message\u003c/code\u003e from \u003ccode\u003eUniqueConstraint\u003c/code\u003e in \u003ccode\u003eUniqueTogetherValidator\u003c/code\u003e by \u003ca href=\"https://github.com/s-aleshin\"\u003e\u003ccode\u003e@​s-aleshin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9766\"\u003eencode/django-rest-framework#9766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eipaddress\u003c/code\u003e objects in \u003ccode\u003eJSONEncoder\u003c/code\u003e by \u003ca href=\"https://github.com/corenting\"\u003e\u003ccode\u003e@​corenting\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9087\"\u003eencode/django-rest-framework#9087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional support to serialize \u003ccode\u003eBigInteger\u003c/code\u003e to string by \u003ca href=\"https://github.com/HoodyH\"\u003e\u003ccode\u003e@​HoodyH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9775\"\u003eencode/django-rest-framework#9775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django 6.0 support by \u003ca href=\"https://github.com/MehrazRumman\"\u003e\u003ccode\u003e@​MehrazRumman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9819\"\u003eencode/django-rest-framework#9819\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent small risk of \u003ccode\u003eToken\u003c/code\u003e overwrite by \u003ca href=\"https://github.com/mahdirahimi1999\"\u003e\u003ccode\u003e@​mahdirahimi1999\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9754\"\u003eencode/django-rest-framework#9754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUniqueTogetherValidator\u003c/code\u003e validation when condition references a read-only field by \u003ca href=\"https://github.com/ticosax\"\u003e\u003ccode\u003e@​ticosax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9764\"\u003eencode/django-rest-framework#9764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix validation on many to many field when \u003ccode\u003edefault=None\u003c/code\u003e by \u003ca href=\"https://github.com/Genarito\"\u003e\u003ccode\u003e@​Genarito\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9790\"\u003eencode/django-rest-framework#9790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix invalid SPDX license expression in \u003ccode\u003e__init__.py\u003c/code\u003e by \u003ca href=\"https://github.com/TheFunctionalGuy\"\u003e\u003ccode\u003e@​TheFunctionalGuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9799\"\u003eencode/django-rest-framework#9799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eHTMLFormRenderer\u003c/code\u003e to ensure a valid \u003ccode\u003edatetime-local\u003c/code\u003e format by \u003ca href=\"https://github.com/mgaligniana\"\u003e\u003ccode\u003e@​mgaligniana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9365\"\u003eencode/django-rest-framework#9365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mutable default arguments in OrderingFilter methods by \u003ca href=\"https://github.com/killerdevildog\"\u003e\u003ccode\u003e@​killerdevildog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9742\"\u003eencode/django-rest-framework#9742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate TokenAdmin to respect USERNAME_FIELD of the user model by \u003ca href=\"https://github.com/m000\"\u003e\u003ccode\u003e@​m000\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9836\"\u003eencode/django-rest-framework#9836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve ordering in \u003ccode\u003eMultipleChoiceField\u003c/code\u003e by \u003ca href=\"https://github.com/fbozhang\"\u003e\u003ccode\u003e@​fbozhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9735\"\u003eencode/django-rest-framework#9735\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate French translation by \u003ca href=\"https://github.com/SebCorbin\"\u003e\u003ccode\u003e@​SebCorbin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9770\"\u003eencode/django-rest-framework#9770\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Brazilian Portuguese translations by \u003ca href=\"https://github.com/JVPinheiroReis\"\u003e\u003ccode\u003e@​JVPinheiroReis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9828\"\u003eencode/django-rest-framework#9828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix and improve French translations by \u003ca href=\"https://github.com/deronnax\"\u003e\u003ccode\u003e@​deronnax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9896\"\u003eencode/django-rest-framework#9896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing Russian translation by \u003ca href=\"https://github.com/minorytanaka\"\u003e\u003ccode\u003e@​minorytanaka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9903\"\u003eencode/django-rest-framework#9903\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate packaging to \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/deronnax\"\u003e\u003ccode\u003e@​deronnax\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9056\"\u003eencode/django-rest-framework#9056\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove package data rules from \u003ccode\u003eMANIFEST.in\u003c/code\u003e to \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/p-r-a-v-i-n\"\u003e\u003ccode\u003e@​p-r-a-v-i-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9825\"\u003eencode/django-rest-framework#9825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet up release workflow with trusted publisher by \u003ca href=\"https://github.com/browniebroke\"\u003e\u003ccode\u003e@​browniebroke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9852\"\u003eencode/django-rest-framework#9852\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor token generation to use the \u003ccode\u003esecrets\u003c/code\u003e module by \u003ca href=\"https://github.com/mahdirahimi1999\"\u003e\u003ccode\u003e@​mahdirahimi1999\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9760\"\u003eencode/django-rest-framework#9760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd validation for decorator out-of-order with \u003ccode\u003e@api_view\u003c/code\u003e by \u003ca href=\"https://github.com/kernelshard\"\u003e\u003ccode\u003e@​kernelshard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9821\"\u003eencode/django-rest-framework#9821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to mkdocs material theme for documentation by \u003ca href=\"https://github.com/browniebroke\"\u003e\u003ccode\u003e@​browniebroke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9849\"\u003eencode/django-rest-framework#9849\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/khaledsukkar2\"\u003e\u003ccode\u003e@​khaledsukkar2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/django-rest-framework/pull/9717\"\u003eencode/django-rest-framework#9717\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/encode/django-rest-framework/commit/22e231cf2f77b4cfe929de875d958b93916b1a8b\"\u003e\u003ccode\u003e22e231c\u003c/code\u003e\u003c/a\u003e Prepare bug fix release 3.17.1 (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/8e99b53db7b122417580ec2993ac6776b4d858d5\"\u003e\u003ccode\u003e8e99b53\u003c/code\u003e\u003c/a\u003e Add condition to skip pushed tags from forks (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9924\"\u003e#9924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/c0407dee6ef8a5603c2d5d34373d724be7b98188\"\u003e\u003ccode\u003ec0407de\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eHTMLFormRenderer\u003c/code\u003e with empty \u003ccode\u003edatetime\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9928\"\u003e#9928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/30d58a75eeef7097f97cdc9f171d2ec741b36d30\"\u003e\u003ccode\u003e30d58a7\u003c/code\u003e\u003c/a\u003e Fix the book sizing in the documentation (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9926\"\u003e#9926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/6f03b79c057c470524b12e9ac46bc2bb384570e0\"\u003e\u003ccode\u003e6f03b79\u003c/code\u003e\u003c/a\u003e Tweak order of changes in release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/021ab5664b085594876032cf062c1220bc1ca03c\"\u003e\u003ccode\u003e021ab56\u003c/code\u003e\u003c/a\u003e Bump version and update release notes for 3.17.0 (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9921\"\u003e#9921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/19ebad70ae560e3f83c0e30af6be7c7df3b5aeec\"\u003e\u003ccode\u003e19ebad7\u003c/code\u003e\u003c/a\u003e Bump mkdocs-material[imaging] from 9.7.4 to 9.7.5 (\u003ca href=\"https://redirect.github.com/encode/django-rest-framework/issues/9923\"\u003e#9923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/f222c55d8a498c9770f2795c6cd34fedffaf043c\"\u003e\u003ccode\u003ef222c55\u003c/code\u003e\u003c/a\u003e Correct requires-python key in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/7e7de6fceee3ad2e20b0dd93b119b6b00eadd797\"\u003e\u003ccode\u003e7e7de6f\u003c/code\u003e\u003c/a\u003e Remove code fences from release checklist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/django-rest-framework/commit/c599d309490fe59ae385954ad544a64b58abffd2\"\u003e\u003ccode\u003ec599d30\u003c/code\u003e\u003c/a\u003e Update release process\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/encode/django-rest-framework/compare/3.16.1...3.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `weasyprint` from 66.0 to 68.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kozea/WeasyPrint/releases\"\u003eweasyprint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev68.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2662\"\u003e#2662\u003c/a\u003e: Don’t crash when SVG clip paths are not in defs tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2665\"\u003e#2665\u003c/a\u003e: Fix position of box bounding box\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2663\"\u003e#2663\u003c/a\u003e: Fix transparency with Acrobat and Edge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2666\"\u003e#2666\u003c/a\u003e: Don’t rely on random default font to define test page size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2670\"\u003e#2670\u003c/a\u003e: Fix pattern detection of URL schemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/pull/2671\"\u003e#2671\u003c/a\u003e: Improve API compatibility between URLFetcherResponse and addinfourl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2672\"\u003e#2672\u003c/a\u003e: Fix charset for old URL fetcher requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/pull/2675\"\u003e#2675\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2673\"\u003e#2673\u003c/a\u003e: Fix calc for many properties\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGuillaume Ayoub\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBackers and sponsors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpacinov\u003c/li\u003e\n\u003cli\u003eSyslifters\u003c/li\u003e\n\u003cli\u003eKobalt\u003c/li\u003e\n\u003cli\u003eSimon Sapin\u003c/li\u003e\n\u003cli\u003eGrip Angebotssoftware\u003c/li\u003e\n\u003cli\u003eManuel Barkhau\u003c/li\u003e\n\u003cli\u003eSimonsoft\u003c/li\u003e\n\u003cli\u003eKontextWork\u003c/li\u003e\n\u003cli\u003eMenutech\u003c/li\u003e\n\u003cli\u003eTrainingSparkle\u003c/li\u003e\n\u003cli\u003eHealthchecks.io\u003c/li\u003e\n\u003cli\u003eMethod B\u003c/li\u003e\n\u003cli\u003eFieldHub\u003c/li\u003e\n\u003cli\u003eHammerbacher\u003c/li\u003e\n\u003cli\u003eYanal-Yves Fargialla\u003c/li\u003e\n\u003cli\u003eMorntag\u003c/li\u003e\n\u003cli\u003ePiloterr\u003c/li\u003e\n\u003cli\u003eXavid\u003c/li\u003e\n\u003cli\u003eCharlie S.\u003c/li\u003e\n\u003cli\u003eProthesis Dental Solutions\u003c/li\u003e\n\u003cli\u003eKai DeLorenzo\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev68.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis is a security update (CVE-2025-68616).\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eWe strongly recommend to upgrade WeasyPrint to the latest version if you use the \u003ccode\u003edefault_url_fetcher\u003c/code\u003e function in your custom URL fetcher, or if you use the \u003ccode\u003eallowed_protocols\u003c/code\u003e parameter of the \u003ccode\u003edefault_url_fetcher\u003c/code\u003e function.\u003c/p\u003e\n\u003cp\u003eRead about this release \u003ca href=\"https://www.courtbouillon.org/blog/00061-weasyprint-68/\"\u003eon our blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eSecurity\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/Kozea/WeasyPrint/blob/main/docs/changelog.rst\"\u003eweasyprint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 68.1\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-06.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#2662](https://github.com/Kozea/WeasyPrint/issues/2662) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2662\u0026gt;\u003c/code\u003e_:\nDon’t crash when SVG clip paths are not in defs tags\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2665](https://github.com/Kozea/WeasyPrint/issues/2665) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2665\u0026gt;\u003c/code\u003e_:\nFix position of box bounding box\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2663](https://github.com/Kozea/WeasyPrint/issues/2663) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2663\u0026gt;\u003c/code\u003e_:\nFix transparency with Acrobat and Edge\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2666](https://github.com/Kozea/WeasyPrint/issues/2666) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2666\u0026gt;\u003c/code\u003e_:\nDon’t rely on random default font to define test page size\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2670](https://github.com/Kozea/WeasyPrint/issues/2670) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2670\u0026gt;\u003c/code\u003e_:\nFix pattern detection of URL schemes\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2671](https://github.com/Kozea/WeasyPrint/issues/2671) \u0026lt;https://github.com/Kozea/WeasyPrint/pull/2671\u0026gt;\u003c/code\u003e_:\nImprove API compatibility between URLFetcherResponse and addinfourl\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2672](https://github.com/Kozea/WeasyPrint/issues/2672) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2672\u0026gt;\u003c/code\u003e_:\nFix charset for old URL fetcher requests\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#2675](https://github.com/Kozea/WeasyPrint/issues/2675) \u0026lt;https://github.com/Kozea/WeasyPrint/pull/2675\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e[#2673](https://github.com/Kozea/WeasyPrint/issues/2673) \u0026lt;https://github.com/Kozea/WeasyPrint/issues/2673\u0026gt;\u003c/code\u003e\u003c/em\u003e:\nFix calc for many properties\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eContributors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGuillaume Ayoub\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBackers and sponsors:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSpacinov\u003c/li\u003e\n\u003cli\u003eSyslifters\u003c/li\u003e\n\u003cli\u003eKobalt\u003c/li\u003e\n\u003cli\u003eSimon Sapin\u003c/li\u003e\n\u003cli\u003eGrip Angebotssoftware\u003c/li\u003e\n\u003cli\u003eManuel Barkhau\u003c/li\u003e\n\u003cli\u003eSimonsoft\u003c/li\u003e\n\u003cli\u003eKontextWork\u003c/li\u003e\n\u003cli\u003eMenutech\u003c/li\u003e\n\u003cli\u003eTrainingSparkle\u003c/li\u003e\n\u003cli\u003eHealthchecks.io\u003c/li\u003e\n\u003cli\u003eMethod B\u003c/li\u003e\n\u003cli\u003eFieldHub\u003c/li\u003e\n\u003cli\u003eHammerbacher\u003c/li\u003e\n\u003cli\u003eYanal-Yves Fargialla\u003c/li\u003e\n\u003cli\u003eMorntag\u003c/li\u003e\n\u003cli\u003ePiloterr\u003c/li\u003e\n\u003cli\u003eXavid\u003c/li\u003e\n\u003cli\u003eCharlie S.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/88d466df43b205c6abbc385e2832cbe6c77aeddc\"\u003e\u003ccode\u003e88d466d\u003c/code\u003e\u003c/a\u003e Version 68.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/d5dab6e9f173826208082f24546977927d9c3c0c\"\u003e\u003ccode\u003ed5dab6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Kozea/WeasyPrint/issues/2675\"\u003e#2675\u003c/a\u003e from Kozea/fix-calc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/e752cb3fde54d13cdc5eb4a7fdb80fd172a3c28b\"\u003e\u003ccode\u003ee752cb3\u003c/code\u003e\u003c/a\u003e Allow calc for more properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/66928cec7a2b000c706b5699518adbcedeff6e71\"\u003e\u003ccode\u003e66928ce\u003c/code\u003e\u003c/a\u003e Allow calc for preferred content width\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/c155e217b8ff1624f536113ab54622effece3ad8\"\u003e\u003ccode\u003ec155e21\u003c/code\u003e\u003c/a\u003e Allow calc for text-underline-offset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/9f5ca24e816a250b3c35cc5dda4b871cbc8d829a\"\u003e\u003ccode\u003e9f5ca24\u003c/code\u003e\u003c/a\u003e Allow calc for text-decoration-thickness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/b2acd6d5eb7fc00920a883169b62ad13394e1f38\"\u003e\u003ccode\u003eb2acd6d\u003c/code\u003e\u003c/a\u003e Allow calc for hyphenate-limit-zone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/321bcf696acb710115a467d04fc0b5f640faf627\"\u003e\u003ccode\u003e321bcf6\u003c/code\u003e\u003c/a\u003e Simplify, test and fix wrong calc() values\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/38d3f53154a2c3c3d7b29dd11e01ed21f61fc2ab\"\u003e\u003ccode\u003e38d3f53\u003c/code\u003e\u003c/a\u003e Fix and test calc() function for table width\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kozea/WeasyPrint/commit/4dfd05f13dfeadf36d44e8f72ee3f2df0b4c6945\"\u003e\u003ccode\u003e4dfd05f\u003c/code\u003e\u003c/a\u003e Don’t iterate over all lines when trying to report footnotes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kozea/WeasyPrint/compare/v66.0...v68.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 3.3.9 to 4.0.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/88e1ab7545a4af4aea15c305a154c164a95ab842\"\u003e\u003ccode\u003e88e1ab7\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.5, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10860\"\u003e#10860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/d96d489a1743d32b6bfa53fc0f69a4333209a146\"\u003e\u003ccode\u003ed96d489\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Relax isort version constraint to allow isort 8 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/0b08ccb014c265700f244a885bdcbdfa3a03de46\"\u003e\u003ccode\u003e0b08ccb\u003c/code\u003e\u003c/a\u003e Fix dynamic color mapping for \u0026quot;fail-on\u0026quot; messages when using multiple reporter...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/154dba43276e8232a2e1cb8f90bfcc63886f3460\"\u003e\u003ccode\u003e154dba4\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix FP for \u003ccode\u003einvalid-name\u003c/code\u003e with \u003ccode\u003etyping.Final\u003c/code\u003e on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/7b73bfdedf275935b9c5b43a6aeda5cc648b4847\"\u003e\u003ccode\u003e7b73bfd\u003c/code\u003e\u003c/a\u003e Disable unspecified-encoding for py-version above Python 3.15 (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10800\"\u003e#10800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/4cc98be8b7786dbc6692493fe9cedb8585af5518\"\u003e\u003ccode\u003e4cc98be\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix setting options for import order checker (\u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f0d30a27b510d69f846e3aaa0054cf0a1412923c\"\u003e\u003ccode\u003ef0d30a2\u003c/code\u003e\u003c/a\u003e Sync astroid version with requirements file again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/38bdf024648724e6aea017e62d3b57cb44097ec3\"\u003e\u003ccode\u003e38bdf02\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix \u003ccode\u003elogging-unsupported-format\u003c/code\u003e when logging ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/f08c33ae3e691eed868e49c0d15270dc6e6a0d6c\"\u003e\u003ccode\u003ef08c33a\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Properly detect \u003ccode\u003eself.fail()\u003c/code\u003e as a terminating...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v3.3.9...v4.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.3\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.3 (2026-04-07)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12444\"\u003e#12444\u003c/a\u003e: Fixed \u003ccode\u003epytest.approx\u003c/code\u003e which now correctly takes into account \u003ccode\u003e~collections.abc.Mapping\u003c/code\u003e keys order to compare them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13634\"\u003e#13634\u003c/a\u003e: Blocking a \u003ccode\u003econftest.py\u003c/code\u003e file using the \u003ccode\u003e-p no:\u003c/code\u003e option is now explicitly disallowed.\u003c/p\u003e\n\u003cp\u003ePreviously this resulted in an internal assertion failure during plugin loading.\u003c/p\u003e\n\u003cp\u003ePytest now raises a clear \u003ccode\u003eUsageError\u003c/code\u003e explaining that conftest files are not plugins and cannot be disabled via \u003ccode\u003e-p\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/13734\"\u003e#13734\u003c/a\u003e: Fixed crash when a test raises an exceptiongroup with \u003ccode\u003e__tracebackhide__ = True\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14195\"\u003e#14195\u003c/a\u003e: Fixed an issue where non-string messages passed to \u003c!-- raw HTML omitted --\u003eunittest.TestCase.subTest()\u003c!-- raw HTML omitted --\u003e were not printed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e: Fixed use of insecure temporary directory (CVE-2025-71176).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13388\"\u003e#13388\u003c/a\u003e: Clarified documentation for \u003ccode\u003e-p\u003c/code\u003e vs \u003ccode\u003ePYTEST_PLUGINS\u003c/code\u003e plugin loading and fixed an incorrect \u003ccode\u003e-p\u003c/code\u003e example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13731\"\u003e#13731\u003c/a\u003e: Clarified that capture fixtures (e.g. \u003ccode\u003ecapsys\u003c/code\u003e and \u003ccode\u003ecapfd\u003c/code\u003e) take precedence over the \u003ccode\u003e-s\u003c/code\u003e / \u003ccode\u003e--capture=no\u003c/code\u003e command-line options in \u003ccode\u003eAccessing captured output from a test function \u0026lt;accessing-captured-output\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14088\"\u003e#14088\u003c/a\u003e: Clarified that the default \u003ccode\u003epytest_collection\u003c/code\u003e hook sets \u003ccode\u003esession.items\u003c/code\u003e before it calls \u003ccode\u003epytest_collection_finish\u003c/code\u003e, not after.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14255\"\u003e#14255\u003c/a\u003e: TOML integer log levels must be quoted: Updating reference documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12689\"\u003e#12689\u003c/a\u003e: The test reports are now published to Codecov from GitHub Actions.\nThe test statistics is visible \u003ca href=\"https://app.codecov.io/gh/pytest-dev/pytest/tests\"\u003eon the web interface\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e-- by \u003ccode\u003ealeguy02\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a7d58d7a21b78581e636bbbdea13c66ad1657c1e\"\u003e\u003ccode\u003ea7d58d7\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22\"\u003e\u003ccode\u003e089d981\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14366\"\u003e#14366\u003c/a\u003e from bluetech/revert-14193-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac\"\u003e\u003ccode\u003e8127eaf\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix: assertrepr_compare respects dict insertion order (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14050\"\u003e#14050\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14193\"\u003e#14193\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241\"\u003e\u003ccode\u003e99a7e60\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14363\"\u003e#14363\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/95d8423bd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95\"\u003e\u003ccode\u003eddee02a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e from bluetech/cve-2025-71176-simple\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619\"\u003e\u003ccode\u003e74eac69\u003c/code\u003e\u003c/a\u003e doc: Update training info (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14298\"\u003e#14298\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14301\"\u003e#14301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869\"\u003e\u003ccode\u003ef92dee7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14267\"\u003e#14267\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d6fa26c62...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439\"\u003e\u003ccode\u003e7ee58ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12378\"\u003e#12378\u003c/a\u003e from Pierre-Sassoulas/fix-implicit-str-concat-and-d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8\"\u003e\u003ccode\u003e37da870\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14259\"\u003e#14259\u003c/a\u003e from mitre88/patch-4 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14268\"\u003e#14268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed\"\u003e\u003ccode\u003ec34bfa3\u003c/code\u003e\u003c/a\u003e Add explanation for string context diffs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14257\"\u003e#14257\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14266\"\u003e#14266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-django` from 4.11.1 to 4.12.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst\"\u003epytest-django's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.0 (2026-02-14)\u003c/h2\u003e\n\u003cp\u003eCompatibility\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOfficial Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.9, minimum version is now Python 3.10.\u003c/li\u003e\n\u003cli\u003eOfficial Django 6.0 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eImprovements\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe :ref:\u003ccode\u003emultiple databases \u0026lt;multi-db\u0026gt;\u003c/code\u003e support added in v4.3.0 is no longer considered experimental.\u003c/li\u003e\n\u003cli\u003eAdded :func:\u003ccode\u003e@pytest.mark.django_isolate_apps \u0026lt;pytest.mark.django_isolate_apps\u0026gt;\u003c/code\u003e\nfor isolating Django's app registry in pytest tests, and a\n:fixture:\u003ccode\u003edjango_isolated_apps\u003c/code\u003e fixture to access the isolated Apps registry instance if needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/a2a94956cc24bb30030510710f0f27e61efb0cf0\"\u003e\u003ccode\u003ea2a9495\u003c/code\u003e\u003c/a\u003e Release 4.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/020bc237ac7be78ab3a2780d07637f77166a6263\"\u003e\u003ccode\u003e020bc23\u003c/code\u003e\u003c/a\u003e tests: make sure access to default can also be blocked\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/bcefbe832468f764b0f2665548aae8a9f75820a7\"\u003e\u003ccode\u003ebcefbe8\u003c/code\u003e\u003c/a\u003e Add support for isolating apps in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/39c8dcc249d5c103d29d170a5ad63a2fe7067049\"\u003e\u003ccode\u003e39c8dcc\u003c/code\u003e\u003c/a\u003e plugin: add a note why we reorder tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/1830acd6193ad6d851131c9ed805c003c10ce27a\"\u003e\u003ccode\u003e1830acd\u003c/code\u003e\u003c/a\u003e pyproject.toml: require pytest 9 for self tests, switch to native toml config...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/f19da084b9b8b131c5ae178f1a8a907ec6e3567b\"\u003e\u003ccode\u003ef19da08\u003c/code\u003e\u003c/a\u003e Fix the order of the test cases that use the live_server fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/92858eed573ce1786d0f67d242426c7f8f75dd7b\"\u003e\u003ccode\u003e92858ee\u003c/code\u003e\u003c/a\u003e docs: add pytest 9.0+ native TOML configuration format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/3f550d93947acda430c27be578b7619c25abddc8\"\u003e\u003ccode\u003e3f550d9\u003c/code\u003e\u003c/a\u003e build(deps): bump hynek/build-and-inspect-python-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/1f50dd29b8778e645ca7a88a285b30a9c788afc4\"\u003e\u003ccode\u003e1f50dd2\u003c/code\u003e\u003c/a\u003e Drop obsolete traces of Django 5.0 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-django/commit/247ec1c365da3d25f230dde22b7a0e1805749d09\"\u003e\u003ccode\u003e247ec1c\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ePytestCollectionWarning\u003c/code\u003e for \u003ccode\u003eTestRunner\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-django/issues/1259\"\u003e#1259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-django/compare/v4.11.1...v4.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-env` from 1.1.5 to 1.6.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-env/releases\"\u003epytest-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(env): preserve existing env values by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/213\"\u003epytest-dev/pytest-env#213\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/pytest-env/compare/1.5.1...1.6.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.1...1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/203\"\u003epytest-dev/pytest-env#203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md to .github/ by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/206\"\u003epytest-dev/pytest-env#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing .github config files by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/207\"\u003epytest-dev/pytest-env#207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/208\"\u003epytest-dev/pytest-env#208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix verbose source attribution when falling back to INI env by \u003ca href=\"https://github.com/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\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/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\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/pytest-env/compare/1.5.0...1.5.1\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.0...1.5.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(plugin): add --pytest-env-verbose for debugging env assignments by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/199\"\u003epytest-dev/pytest-env#199\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/pytest-env/compare/1.4.0...1.5.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.4.0...1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(cli): add --envfile option for runtime environment switching by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/197\"\u003epytest-dev/pytest-env#197\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/pytest-env/compare/1.3.2...1.4.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.3.2...1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.3.2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 build(type): migrate from mypy to ty by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/192\"\u003epytest-dev/pytest-env#192\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/8bd22d1b9d9d7594c408040610868743ca3d5a9b\"\u003e\u003ccode\u003e8bd22d1\u003c/code\u003e\u003c/a\u003e ✨ feat(env): preserve existing env values (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/213\"\u003e#213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81f9e0e19d17169f03d9c078818421f34c45a67d\"\u003e\u003ccode\u003e81f9e0e\u003c/code\u003e\u003c/a\u003e Fix verbose source attribution when falling back to INI env (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/211\"\u003e#211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81dc95d54f09ebb9b6e5f704b86a4bb60552b08b\"\u003e\u003ccode\u003e81dc95d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/439cc76fecbfbb95b6d3123a32bbc8030a9f95c0\"\u003e\u003ccode\u003e439cc76\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/209\"\u003e#209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/b1b498e28cb76863a6e88c713a9bb09cdfbb0857\"\u003e\u003ccode\u003eb1b498e\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/066dadc7b4f8a40818e2c19c6bbd7281671eb081\"\u003e\u003ccode\u003e066dadc\u003c/code\u003e\u003c/a\u003e Add missing .github config files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/7d01327e395f0080dd6256c0cf30f2a8693c3c32\"\u003e\u003ccode\u003e7d01327\u003c/code\u003e\u003c/a\u003e Add SECURITY.md to .github/\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/04259c91dfbd4b77a053bcad5fd63d5d7d78ae5d\"\u003e\u003ccode\u003e04259c9\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/205\"\u003e#205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/4fdb9d8d6defe6fc40069455ec672fa3f1bef51f\"\u003e\u003ccode\u003e4fdb9d8\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/204\"\u003e#204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/672e44f059e03870caf87054aa7426411a8a9658\"\u003e\u003ccode\u003e672e44f\u003c/code\u003e\u003c/a\u003e Add permissions to workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/203\"\u003e#203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.1.5...1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pontos` from 26.2.0 to 26.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/greenbone/pontos/releases\"\u003epontos's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epontos 26.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/greenbone/pontos/compare/v26.4.3..26.5.0\"\u003e26.5.0\u003c/a\u003e - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:construction_worker: Changed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u0026quot;Status Change\u0026quot; to \u0026quot;CVE Status Change\u0026quot; by \u003ca href=\"https://github.com/n-thumann\"\u003e\u003ccode\u003e@​n-thumann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1220\"\u003e#1220\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:ship: Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump urllib3 from 2.6.3 to 2.7.0 by \u003ca href=\"https://github.com/dependabot%5Bbot%5D\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1217\"\u003e#1217\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epontos 26.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/greenbone/pontos/compare/v26.4.2..26.4.3\"\u003e26.4.3\u003c/a\u003e - 2026-04-29\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:sparkles: Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCVE Change event name \u0026quot;Data Remediation\u0026quot; by \u003ca href=\"https://github.com/n-thumann\"\u003e\u003ccode\u003e@​n-thumann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1214\"\u003e#1214\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epontos 26.4.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/greenbone/pontos/compare/v26.4.1..26.4.2\"\u003e26.4.2\u003c/a\u003e - 2026-04-27\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:sparkles: Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo test cases for XML files by \u003ca href=\"https://github.com/wiegandm\"\u003e\u003ccode\u003e@​wiegandm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1211\"\u003e#1211\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:construction_worker: Changed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove XML declarations from templates by \u003ca href=\"https://github.com/wiegandm\"\u003e\u003ccode\u003e@​wiegandm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/greenbone/pontos/commit/9e2d78c64bcd5ffc4fb793d3770bdb409cf56b1e\"\u003e9e2d78c\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent duplication and adding of XML declarations by \u003ca href=\"https://github.com/wiegandm\"\u003e\u003ccode\u003e@​wiegandm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/greenbone/pontos/commit/ee996b5771ddb3e0183b00ad34ffda45988d6dbc\"\u003eee996b5\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:wrench: Miscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse git-cliff for release changelog generation by \u003ca href=\"https://github.com/bjoernricks\"\u003e\u003ccode\u003e@​bjoernricks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/greenbone/pontos/commit/af9e7f10db1b8cab9912e0c0827380feab952194\"\u003eaf9e7f1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the conventional commits workflow by \u003ca href=\"https://github.com/bjoernricks\"\u003e\u003ccode\u003e@​bjoernricks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1210\"\u003e#1210\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e:ship: Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump the python-packages group with 8 updates by \u003ca href=\"https://github.com/dependabot%5Bbot%5D\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenbone/pontos/pull/1209\"\u003e#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epontos 26.4.1\u003c/h2\u003e\n\u003ch2\u003e[26.4.1] - 2026-04-21\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/greenbone/pontos/commit/a380de64b4e171a476b1cf3172319ee180ed818f\"\u003e\u003ccode\u003ea380de6\u003c/code\u003e\u003c/a\u003e Automatic release to 26.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/12b9dd283e3d261098719ac8ce94625f73e98684\"\u003e\u003ccode\u003e12b9dd2\u003c/code\u003e\u003c/a\u003e Change: Rename \u0026quot;Status Change\u0026quot; to \u0026quot;CVE Status Change\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/fd0a178d18da0d3ead9de7c1d9933364d6cfafac\"\u003e\u003ccode\u003efd0a178\u003c/code\u003e\u003c/a\u003e Deps: Bump urllib3 from 2.6.3 to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/00adf5473d50e7aa0e0839984a8ba44447e28c0d\"\u003e\u003ccode\u003e00adf54\u003c/code\u003e\u003c/a\u003e Update: Greenbone license header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/a793376e247ac9a8e0994d1ba56cd2e44bbaf575\"\u003e\u003ccode\u003ea793376\u003c/code\u003e\u003c/a\u003e Automatic adjustments after release [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/7e3dffb21ddab71884678eac10215767319d29f4\"\u003e\u003ccode\u003e7e3dffb\u003c/code\u003e\u003c/a\u003e Automatic release to 26.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/f2f04018b6e2eabb1b64123445dadbcfdb85d112\"\u003e\u003ccode\u003ef2f0401\u003c/code\u003e\u003c/a\u003e Add: CVE Change event name \u0026quot;Data Remediation\u0026quot; (\u003ca href=\"https://redirect.github.com/greenbone/pontos/issues/1214\"\u003e#1214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/a81ba0338193a9e889da80825487a86be7179ee2\"\u003e\u003ccode\u003ea81ba03\u003c/code\u003e\u003c/a\u003e Automatic adjustments after release [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/46c3185d68b38c4889db97a0e89fd2622728c341\"\u003e\u003ccode\u003e46c3185\u003c/code\u003e\u003c/a\u003e Automatic release to 26.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenbone/pontos/commit/31d04650f4750791cbfdfbc3afa267693e709051\"\u003e\u003ccode\u003e31d0465\u003c/code\u003e\u003c/a\u003e Use snake_case for release-version output variables\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/greenbone/pontos/compare/v26.2.0...v26.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 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/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\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/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 3.3.11 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\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/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a068430290b375a06f6eccdcea7d5026995172ba\"\u003e\u003ccode\u003ea068430\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.2, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.3.11...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.4.22 to 2026.5.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d7ea151afc2ce6bef0555b9349902bd867e928dd\"\u003e\u003ccode\u003ed7ea151\u003c/code\u003e\u003c/a\u003e 2026.05.20 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.04.22...2026.05.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.14.0\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.14.0 — 2026-05-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: now when running one of the reporting commands, if there are\nparallel data files that need combining, they will be implicitly combined\nbefore creating the report. There is no option to avoid the combination; let\nus know if you have a use case that requires it.  Thanks, \u003ccode\u003eTim Hatch \u0026lt;pull 2162_\u0026gt;\u003c/code\u003e\u003cem\u003e. Closes \u003ccode\u003eissue 1781\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the output from \u003ccode\u003ecombine\u003c/code\u003e was too verbose, listing each file\nconsidered. Now it shows a single line with the counts of files combined,\nfiles skipped, and files with errors. The \u003ccode\u003e-q\u003c/code\u003e flag suppresses this line.\nThe old detailed lines are available with the new \u003ccode\u003e--debug=combine\u003c/code\u003e option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: running a Python file through a symlink now sets the sys.path correctly,\nmatching regular Python behavior. Fixes \u003ccode\u003eissue 2157\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eCollector.flush_data\u003c/code\u003e could fail with \u0026quot;RuntimeError: Set changed\nsize during iteration\u0026quot; when a tracer in another thread added a line to the\nper-file set that \u003ccode\u003eadd_lines\u003c/code\u003e (or \u003ccode\u003eadd_arcs\u003c/code\u003e) was iterating. The values\npassed to \u003ccode\u003eCoverageData\u003c/code\u003e are now snapshotted via \u003ccode\u003edict.copy()\u003c/code\u003e and\n\u003ccode\u003eset.copy()\u003c/code\u003e, which are atomic under the GIL. Thanks, \u003ccode\u003eAlex Vandiver \u0026lt;pull 2165_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the soft keyword \u003ccode\u003elazy\u003c/code\u003e is now bolded in HTML reports.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are no longer testing eventlet support. Eventlet started issuing stern\ndeprecation warnings that break our tests. Our support code is still there.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1781: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1781\"\u003ecoveragepy/coveragepy#1781\u003c/a\u003e\n.. _issue 2157: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2157\"\u003ecoveragepy/coveragepy#2157\u003c/a\u003e\n.. _pull 2162: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2162\"\u003ecoveragepy/coveragepy#2162\u003c/a\u003e\n.. _pull 2165: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2165\"\u003ecoveragepy/coveragepy#2165\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.5 — 2026-03-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eissue 2138\u003c/code\u003e_ describes a memory leak that happened when repeatedly\nusing the Coverage API with in-memory data. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the markdown-formatted coverage report didn't fully escape special\ncharacters in file paths (\u003ccode\u003eissue 2141\u003c/code\u003e\u003cem\u003e). This would be very unlikely to\ncause a problem, but now it's done properly, thanks to \u003ccode\u003eEllie Ayla \u0026lt;pull 2142_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the C extension wouldn't build on VS2019, but now it does (\u003ccode\u003eissue 2145\u003c/code\u003e_).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/646351b60429f1b5760af6c1b97b28483244a955\"\u003e\u003ccode\u003e646351b\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/39cd015505c8b04369c5b06e34fc22449a697370\"\u003e\u003ccode\u003e39cd015\u003c/code\u003e\u003c/a\u003e docs: prep for 7.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/649e8aa34af7d80c386ae82e8a3a6c9a3acb0dab\"\u003e\u003ccode\u003e649e8aa\u003c/code\u003e\u003c/a\u003e docs: thanks Alex Vandiver for \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2165\"\u003e#2165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8cd392e3b5c4bc15d534aaec0c21714f9f518469\"\u003e\u003ccode\u003e8cd392e\u003c/code\u003e\u003c/a\u003e fix: snapshot data in Collector.flush_data to avoid threading race (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2165\"\u003e#2165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c48e0edc2ebe44621b0053176e90f77b0c79bec1\"\u003e\u003ccode\u003ec48e0ed\u003c/code\u003e\u003c/a\u003e fix: less output for combining\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c2a3a284078556c911e0d9b6c6af1b7082a363ea\"\u003e\u003ccode\u003ec2a3a28\u003c/code\u003e\u003c/a\u003e docs: explain the change from \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2162\"\u003e#2162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/1cd47aa6ac1da4e150da44055295d4e4f3a014e8\"\u003e\u003ccode\u003e1cd47aa\u003c/code\u003e\u003c/a\u003e fix: implicit combine-during-report now removes the combined data files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2d99fd7696e0bccec8037479a4e45c1ecccb8058\"\u003e\u003ccode\u003e2d99fd7\u003c/code\u003e\u003c/a\u003e feat: automatically combine coverage in report, thanks Tim Hatch (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2162\"\u003e#2162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/9fbdcdfee1c122fac43f1bf9a5e2d1f4d835f21c\"\u003e\u003ccode\u003e9fbdcdf\u003c/code\u003e\u003c/a\u003e fix: lazy soft keywords are bolded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/5de7d0267b9466d59995aaae1a7e707c8c6f66e7\"\u003e\u003ccode\u003e5de7d02\u003c/code\u003e\u003c/a\u003e build: oops, misplaced quote\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.7...7.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cssselect2` from 0.8.0 to 0.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kozea/cssselect2/releases\"\u003ecssselect2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support of Python 3.9, support 3.14\u003c/li\u003e\n\u003cli\u003eSupport :host\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/Kozea/cssselect2/blob/main/docs/changelog.rst\"\u003ecssselect2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cp\u003eVersion 0.9.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2026-02-12.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support of Python 3.9, support 3.14\u003c/li\u003e\n\u003cli\u003eSupport :host\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 0.8.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2025-03-05.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support of Python 3.8 and 3.9, support 3.12 and 3.13\u003c/li\u003e\n\u003cli\u003eHandle case-sensitive and case-insensitive attribute selectors\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 0.7.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2022-09-19.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport :has selector\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 0.6.0\n.............\u003c/p\u003e\n\u003cp\u003eReleased on 2022-04-15.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThis version deprecates the \u003ccode\u003eiter_ancestors\u003c/code\u003e and \u003ccode\u003eiter_previous_siblings\u003c/code\u003e\nmethods, that will be removed in 0.7.0. Use the \u003ccode\u003ean...\n\n_Description has been truncated_","html_url":"https://github.com/greenbone/pheme/pull/1059","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fpheme/issues/1059","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1059/packages"}},{"old_version":"4.0.4","new_version":"4.1.2","update_type":"minor","path":null,"pr_created_at":"2026-05-21T22:33:49.000Z","version_change":"4.0.4 → 4.1.2","issue":{"uuid":"4498340075","node_id":"PR_kwDOSkVWvM7eIMZ2","number":8,"state":"open","title":"chore(deps-dev)(deps-dev): bump the python-minor-and-patch group with 3 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-05-21T22:33:49.000Z","updated_at":"2026-05-21T22:33:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)(deps-dev): bump","group_name":"python-minor-and-patch","update_count":3,"packages":[{"name":"ruff","old_version":"0.15.12","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uv","old_version":"0.11.7","new_version":"0.11.16","repository_url":"https://github.com/astral-sh/uv"},{"name":"astroid","old_version":"4.0.4","new_version":"4.1.2","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 3 updates: [ruff](https://github.com/astral-sh/ruff), [uv](https://github.com/astral-sh/uv) and [astroid](https://github.com/pylint-dev/astroid).\n\nUpdates `ruff` from 0.15.12 to 0.15.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.12...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uv` from 0.11.7 to 0.11.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/releases\"\u003euv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for direct archive dependencies in Git (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/10072\"\u003e#10072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust hint rendering (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18090\"\u003e#18090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euv audit: specialize malformed OSV error (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19515\"\u003e#19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject locked malware installations (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow disabling reading the system config with \u003ccode\u003eUV_NO_SYSTEM_CONFIG\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19476\"\u003e#19476\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow environment variables that take a list to be empty (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19503\"\u003e#19503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure that incompatible wheel hints do not leak secrets (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19504\"\u003e#19504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject unsafe entry points in \u003ccode\u003euv-build\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19495\"\u003e#19495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict delimiters in entry point parsing (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19471\"\u003e#19471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euv-netrc: fix multi-word no-space comment lines causing parse errors (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19494\"\u003e#19494\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument and test relative exclude-newer support for uv pip (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19475\"\u003e#19475\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall uv 0.11.16\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/uv/releases/download/0.11.16/uv-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/uv/releases/download/0.11.16/uv-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload uv 0.11.16\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.16/uv-aarch64-apple-darwin.tar.gz\"\u003euv-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.16/uv-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/blob/main/CHANGELOG.md\"\u003euv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for direct archive dependencies in Git (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/10072\"\u003e#10072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust hint rendering (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18090\"\u003e#18090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euv audit: specialize malformed OSV error (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19515\"\u003e#19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject locked malware installations (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow disabling reading the system config with \u003ccode\u003eUV_NO_SYSTEM_CONFIG\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19476\"\u003e#19476\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow environment variables that take a list to be empty (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19503\"\u003e#19503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure that incompatible wheel hints do not leak secrets (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19504\"\u003e#19504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject unsafe entry points in \u003ccode\u003euv-build\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19495\"\u003e#19495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict delimiters in entry point parsing (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19471\"\u003e#19471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euv-netrc: fix multi-word no-space comment lines causing parse errors (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19494\"\u003e#19494\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument and test relative exclude-newer support for uv pip (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19475\"\u003e#19475\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.15\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-18.\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a TAR parser differential, see \u003ca href=\"https://github.com/astral-sh/tokio-tar/security/advisories/GHSA-3cv2-h65g-fgmm\"\u003eGHSA-3cv2-h65g-fgmm\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19463\"\u003e#19463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnforce that entry points cannot escape in the scripts directory, see \u003ca href=\"https://github.com/astral-sh/uv/security/advisories/GHSA-4gg8-gxpx-9rph\"\u003eGHSA-4gg8-gxpx-9rph\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19464\"\u003e#19464\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML v1.1 -\u0026gt; v1.0 backwards compatibility for source distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/18741\"\u003e#18741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Azure request signing (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19421\"\u003e#19421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply stricter validation to all wheel filename segments (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19364\"\u003e#19364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject empty strings as an invalid package name (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19435\"\u003e#19435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse structured errors for signing authentication failures (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19422\"\u003e#19422\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euv audit: Add JSON output (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19305\"\u003e#19305\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/uv/commit/135a3636789bb6886e0a7876f58cb4dbb270ba6d\"\u003e\u003ccode\u003e135a363\u003c/code\u003e\u003c/a\u003e Bump version to 0.11.16 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19522\"\u003e#19522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/3b5f99412c7050f1050c09d2b7a48f82c333adfa\"\u003e\u003ccode\u003e3b5f994\u003c/code\u003e\u003c/a\u003e Add a \u003ccode\u003euv lock\u003c/code\u003e check to CI (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19524\"\u003e#19524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/4ffb506acf2b3d4dfd9a343a3cee53abe63a4de7\"\u003e\u003ccode\u003e4ffb506\u003c/code\u003e\u003c/a\u003e Improve crates.io new crate error message (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19523\"\u003e#19523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/51ba989e678ba1558ed48e1ea3e66d01a6dc30b3\"\u003e\u003ccode\u003e51ba989\u003c/code\u003e\u003c/a\u003e Add support for direct archive dependencies in Git (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/10072\"\u003e#10072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/c07a6efb380b2ecd39161194aa7f3bb5d3f967ca\"\u003e\u003ccode\u003ec07a6ef\u003c/code\u003e\u003c/a\u003e Reject locked malware installations (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/58a6734719d19da5335a5985843435745ff93320\"\u003e\u003ccode\u003e58a6734\u003c/code\u003e\u003c/a\u003e Allow environment variables that take a list to be empty (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19503\"\u003e#19503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/c1477e2b0f9e0ef510554ebfdf76aa68d477dfe6\"\u003e\u003ccode\u003ec1477e2\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eUV_NO_SYSTEM_CONFIG\u003c/code\u003e in tests to avoid reading machine-global config (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/4648a0b9e67c2abfd5aa1404d2daeac800b987f5\"\u003e\u003ccode\u003e4648a0b\u003c/code\u003e\u003c/a\u003e uv audit: specialize malformed OSV error (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19515\"\u003e#19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/e2375abfe10d0e2326bf29c5f425b38f71ebf7db\"\u003e\u003ccode\u003ee2375ab\u003c/code\u003e\u003c/a\u003e Test \u003ccode\u003ecreate_junction\u003c/code\u003e changes from \u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19402\"\u003e#19402\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19487\"\u003e#19487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/547bf2f9e7f4ff8b3e8a974e0cad3159ac04bb8c\"\u003e\u003ccode\u003e547bf2f\u003c/code\u003e\u003c/a\u003e Avoid unwrapping from \u003ccode\u003eOnceMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19510\"\u003e#19510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/uv/compare/0.11.7...0.11.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.4 to 4.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-03-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix crash accessing property \u003ccode\u003efset\u003c/code\u003e in generic classes with type annotations.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2996\"\u003e#2996\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix infinite recursion caused by cyclic inference in \u003ccode\u003eConstraint\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRecursionError\u003c/code\u003e in \u003ccode\u003e_compute_mro()\u003c/code\u003e when circular class hierarchies\nare created through runtime name rebinding. Circular bases are now resolved\nto the original class instead of recursing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2967\"\u003e#2967\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10821\"\u003epylint-dev/pylint#10821\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eDuplicateBasesError\u003c/code\u003e crash in dataclass transform when a class has\nduplicate bases in its MRO (e.g., \u003ccode\u003eProtocol\u003c/code\u003e appearing both directly and\nindirectly). Catch \u003ccode\u003eMroError\u003c/code\u003e at \u003ccode\u003e.mro()\u003c/code\u003e call sites in\n\u003ccode\u003ebrain_dataclasses.py\u003c/code\u003e, consistent with the existing pattern elsewhere.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2628\"\u003e#2628\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eFunctionModel\u003c/code\u003e returning descriptor attributes for builtin functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCatch \u003ccode\u003eMemoryError\u003c/code\u003e when inferring f-strings with extremely large format\nwidths (e.g. \u003ccode\u003ef'{0:11111111111}'\u003c/code\u003e) so that inference yields \u003ccode\u003eUninferable\u003c/code\u003e\ninstead of crashing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2762\"\u003e#2762\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eValueError\u003c/code\u003e in \u003ccode\u003e__str__\u003c/code\u003e/\u003ccode\u003erepr\u003c/code\u003e and error messages when nodes have\nextreme values (very long identifiers or large integers). Clamp pprint width\nto a minimum of 1 and truncate oversized values in error messages.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2764\"\u003e#2764\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-03-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix crash accessing property \u003ccode\u003efset\u003c/code\u003e in generic classes with type annotations.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2996\"\u003e#2996\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix infinite recursion caused by cyclic inference in \u003ccode\u003eConstraint\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRecursionError\u003c/code\u003e in \u003ccode\u003e_compute_mro()\u003c/code\u003e when circular class hierarchies\nare created through runtime name rebinding. Circular bases are now resolved\nto the original class instead of recursing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2967\"\u003e#2967\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10821\"\u003epylint-dev/pylint#10821\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eDuplicateBasesError\u003c/code\u003e crash in dataclass transform when a class has\nduplicate bases in its MRO (e.g., \u003ccode\u003eProtocol\u003c/code\u003e appearing both directly and\nindirectly). Catch \u003ccode\u003eMroError\u003c/code\u003e at \u003ccode\u003e.mro()\u003c/code\u003e call sites in\n\u003ccode\u003ebrain_dataclasses.py\u003c/code\u003e, consistent with the existing pattern elsewhere.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2628\"\u003e#2628\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eFunctionModel\u003c/code\u003e returning descriptor attributes for builtin functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCatch \u003ccode\u003eMemoryError\u003c/code\u003e when inferring f-strings with extremely large format\nwidths (e.g. \u003ccode\u003ef'{0:11111111111}'\u003c/code\u003e) so that inference yields \u003ccode\u003eUninferable\u003c/code\u003e\ninstead of crashing.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2762\"\u003e#2762\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eValueError\u003c/code\u003e in \u003ccode\u003e__str__\u003c/code\u003e/\u003ccode\u003erepr\u003c/code\u003e and error messages when nodes have\nextreme values (very long identifiers or large integers). Clamp pprint width\nto a minimum of 1 and truncate oversized values in error messages.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2764\"\u003e#2764\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\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/pylint-dev/astroid/commit/91dac1330a52c8e606f18720d02667d49cdce8bd\"\u003e\u003ccode\u003e91dac13\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.2, update changelog (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/796eba878e3b1767bc817298d0243e1d1c7c0d21\"\u003e\u003ccode\u003e796eba8\u003c/code\u003e\u003c/a\u003e objectmodel: fix crash analyzing property fset in generic classes with type a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ca814f0d7106a24f5d2b101ee7aaabaad3428b61\"\u003e\u003ccode\u003eca814f0\u003c/code\u003e\u003c/a\u003e Update CI workflow to include maintenance branch (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2999\"\u003e#2999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/75938774dfaff2e062abd519a82670a9bc19fbc0\"\u003e\u003ccode\u003e7593877\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Fix cyclic inference by constraints (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2998\"\u003e#2998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3f63f905cb2f2e01cdf11451d1ec7733239adbea\"\u003e\u003ccode\u003e3f63f90\u003c/code\u003e\u003c/a\u003e Fix builtin functions incorrectly exposing descriptor attributes (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2983\"\u003e#2983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/be7479e2e9980e62801c8cb4bb36263f1d5bb616\"\u003e\u003ccode\u003ebe7479e\u003c/code\u003e\u003c/a\u003e Fix ValueError in \u003cstrong\u003estr\u003c/strong\u003e/repr and error messages with extreme values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2971\"\u003e#2971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/1c9938d4ef2469117d098587aecd022795d4bdbf\"\u003e\u003ccode\u003e1c9938d\u003c/code\u003e\u003c/a\u003e Fix RecursionError in _compute_mro() on circular class hierarchies (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2968\"\u003e#2968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/98938adeba4693f0af4ddd39687f8cc86640e8ba\"\u003e\u003ccode\u003e98938ad\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Fix DuplicateBasesError crash in dataclass trans...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/33fabe0cedce85162fcae11c4c57098389d27ee3\"\u003e\u003ccode\u003e33fabe0\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Fix MemoryError when inferring f-string with lar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/exploitintel/eip-search/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/exploitintel%2Feip-search/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"4.0.0b0","new_version":"4.1.1","update_type":"minor","path":null,"pr_created_at":"2026-03-03T23:35:20.000Z","version_change":"4.0.0b0 → 4.1.1","issue":{"uuid":"4019234632","node_id":"PR_kwDORdyTPM7HvPzI","number":2,"state":"open","title":"Bump astroid from 4.0.0b0 to 4.1.1","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-03-03T23:35:20.000Z","updated_at":"2026-03-03T23:35:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.0b0","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.0b0 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.0b0...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.0b0\u0026new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/swe-qa-benchmarking/pylint/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/swe-qa-benchmarking%2Fpylint/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"4.0.3","new_version":"4.1.1","update_type":"minor","path":null,"pr_created_at":"2026-03-01T11:06:55.000Z","version_change":"4.0.3 → 4.1.1","issue":{"uuid":"4006932596","node_id":"PR_kwDOHZgEBs7HHPs_","number":97,"state":"open","title":"Bump the ofe-minor-and-patch-updates group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T11:06:55.000Z","updated_at":"2026-03-01T11:06:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ofe-minor-and-patch-updates","update_count":21,"packages":[{"name":"asgiref","old_version":"3.11.0","new_version":"3.11.1","repository_url":"https://github.com/django/asgiref"},{"name":"astroid","old_version":"4.0.3","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"46.0.4","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"django-allauth","old_version":"65.14.0","new_version":"65.14.3","repository_url":"https://github.com/sponsors/pennersr"},{"name":"django-crispy-forms","old_version":"2.5","new_version":"2.6","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"filelock","old_version":"3.20.3","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"google-api-core","old_version":"2.29.0","new_version":"2.30.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-api-python-client","old_version":"2.188.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-cloud-artifact-registry","old_version":"1.19.0","new_version":"1.20.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-pubsub","old_version":"2.34.0","new_version":"2.35.0","repository_url":"https://github.com/googleapis/python-pubsub"},{"name":"google-cloud-compute","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-storage","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"grpcio","old_version":"1.76.0","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.76.0","new_version":"1.78.0"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"proto-plus","old_version":"1.27.0","new_version":"1.27.1","repository_url":"https://github.com/googleapis/proto-plus-python"},{"name":"pylint","old_version":"4.0.4","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"uvicorn","old_version":"0.40.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xmltodict","old_version":"1.0.2","new_version":"1.0.4","repository_url":"https://github.com/martinblech/xmltodict"}],"path":null,"ecosystem":"pip"},"body":"Bumps the ofe-minor-and-patch-updates group with 21 updates in the /community/front-end/ofe directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [asgiref](https://github.com/django/asgiref) | `3.11.0` | `3.11.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.3` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.4` | `46.0.5` |\n| [django-allauth](https://github.com/sponsors/pennersr) | `65.14.0` | `65.14.3` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `2.5` | `2.6` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.24.3` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.29.0` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.188.0` | `2.190.0` |\n| [google-cloud-artifact-registry](https://github.com/googleapis/google-cloud-python) | `1.19.0` | `1.20.0` |\n| [google-cloud-pubsub](https://github.com/googleapis/python-pubsub) | `2.34.0` | `2.35.0` |\n| [google-cloud-compute](https://github.com/googleapis/google-cloud-python) | `1.43.0` | `1.44.0` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.8.0` | `3.9.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.76.0` | `1.78.0` |\n| [grpcio-status](https://grpc.io) | `1.76.0` | `1.78.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [proto-plus](https://github.com/googleapis/proto-plus-python) | `1.27.0` | `1.27.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.4` | `4.0.5` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.40.0` | `0.41.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.1.0` | `2.1.1` |\n| [xmltodict](https://github.com/martinblech/xmltodict) | `1.0.2` | `1.0.4` |\n\n\nUpdates `asgiref` from 3.11.0 to 3.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django/asgiref/blob/main/CHANGELOG.txt\"\u003easgiref's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.1 (2026-02-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSECURITY FIX CVE-2025-14550: There was a potential DoS vector for users of\nthe \u003ccode\u003easgiref.wsgi.WsgiToAsgi\u003c/code\u003e adapter. Malicious requests, including an unreasonably\nlarge number of values for the same header, could lead to resource exhaustion\nwhen building the WSGI environment.\u003c/p\u003e\n\u003cp\u003eTo mitigate this, the algorithm is changed to be more efficient, and\n\u003ccode\u003eWsgiToAsgi\u003c/code\u003e gains a new optional \u003ccode\u003eduplicate_header_limit\u003c/code\u003e parameter,\nwhich defaults to 100. This specifies the number of times a single header may\nbe repeated before the request is rejected as malformed.\u003c/p\u003e\n\u003cp\u003eYou may override \u003ccode\u003eduplicate_header_limit\u003c/code\u003e when configuring your application::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapplication = WsgiToAsgi(wsgi_app, duplicate_header_limit=200)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSet \u003ccode\u003eduplicate_header_limit=None\u003c/code\u003e if you wish to disable this check.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a regression in 3.11.0 in \u003ccode\u003esync_to_async\u003c/code\u003e when wrapping a callable\nwith an attribute named \u003ccode\u003econtext\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/537\"\u003e#537\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/d97a7339524c89798c510de6c142b663fe40400c\"\u003e\u003ccode\u003ed97a733\u003c/code\u003e\u003c/a\u003e Releasing 3.11.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/a50968a52a50a0bcb0f339ba41e8b52cbf74c604\"\u003e\u003ccode\u003ea50968a\u003c/code\u003e\u003c/a\u003e CVE-2025-14550: Fixed duplicate header handling in WsgiToAsgi.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/0fb85a4352b079ab8191cc593865bd99c987141f\"\u003e\u003ccode\u003e0fb85a4\u003c/code\u003e\u003c/a\u003e Fixed sync_to_async wrapping callables with attribute named \u003ccode\u003econtext\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/2b28409ab83b3e4cf6fed9019403b71f8d7d1c51\"\u003e\u003ccode\u003e2b28409\u003c/code\u003e\u003c/a\u003e Updated Hypercorn homepage URL (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django/asgiref/compare/3.11.0...3.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.3 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.4 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.4...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth` from 65.14.0 to 65.14.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 2.5 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\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/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/dc8007e35f3387cca3e799a6fc93226a5a808bdc\"\u003e\u003ccode\u003edc8007e\u003c/code\u003e\u003c/a\u003e Release 2.6. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/792c6717388aef8fa4b8482f6858048afaa6803f\"\u003e\u003ccode\u003e792c671\u003c/code\u003e\u003c/a\u003e Updated versions in pyproject.toml. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/af31d24c681a90b5217df66d47a6da292baff89c\"\u003e\u003ccode\u003eaf31d24\u003c/code\u003e\u003c/a\u003e Fix incorrect reverse in crispy tag docs (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/fb7acdcbb861a5194e26739cf5e2f0ac16d4b30c\"\u003e\u003ccode\u003efb7acdc\u003c/code\u003e\u003c/a\u003e Don't crash when using the crispy template tag and missing variables (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/d30a0ab6e3f180c9ca63636a45e261b0815ce0ac\"\u003e\u003ccode\u003ed30a0ab\u003c/code\u003e\u003c/a\u003e Dropped unsupported Django versions. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/3f5b88da2a305f79a8cae5f6bd54475c22535652\"\u003e\u003ccode\u003e3f5b88d\u003c/code\u003e\u003c/a\u003e Improved |as_crispy_field error message. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/6a97c68d7465a75db57108d50959f98aabd2ec1b\"\u003e\u003ccode\u003e6a97c68\u003c/code\u003e\u003c/a\u003e Fix typos in some files (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.5...2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.20.3 to 3.24.3\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\u003e3.24.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries 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/492\"\u003etox-dev/filelock#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire 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/495\"\u003etox-dev/filelock#495\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/3.24.2...3.24.3\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.2...3.24.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework 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/489\"\u003etox-dev/filelock#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test 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/490\"\u003etox-dev/filelock#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race 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/491\"\u003etox-dev/filelock#491\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/3.24.1...3.24.2\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.1...3.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition 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/488\"\u003etox-dev/filelock#488\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/3.24.0...3.24.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.0...3.24.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS 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/480\"\u003etox-dev/filelock#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor 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/482\"\u003etox-dev/filelock#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage 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/484\"\u003etox-dev/filelock#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACL inheritance 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/483\"\u003etox-dev/filelock#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock 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/481\"\u003etox-dev/filelock#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire 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/487\"\u003etox-dev/filelock#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration 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/486\"\u003etox-dev/filelock#486\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/3.23.0...3.24.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.23.0...3.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.23.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries 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/478\"\u003etox-dev/filelock#478\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\u003chr /\u003e\n\u003cp\u003e3.24.3 (2026-02-19)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire :pr:\u003ccode\u003e495\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries :pr:\u003ccode\u003e492\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.2 (2026-02-16)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race :pr:\u003ccode\u003e491\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test :pr:\u003ccode\u003e490\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework :pr:\u003ccode\u003e489\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.1 (2026-02-15)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition :pr:\u003ccode\u003e488\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/68\"\u003e#68\u003c/a\u003e) :pr:\u003ccode\u003e486\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/309\"\u003e#309\u003c/a\u003e) :pr:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock :pr:\u003ccode\u003e481\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACLs (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/378\"\u003e#378\u003c/a\u003e) :pr:\u003ccode\u003e483\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage :pr:\u003ccode\u003e484\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor :pr:\u003ccode\u003e482\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS :pr:\u003ccode\u003e480\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.23.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: move from Unlicense to MIT :pr:\u003ccode\u003e479\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries :pr:\u003ccode\u003e478\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.22.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): skip stale detection on Windows :pr:\u003ccode\u003e477\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): detect and break stale locks :pr:\u003ccode\u003e476\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b34b3df34b8a6a6c7739483283ef40891d5ddbda\"\u003e\u003ccode\u003eb34b3df\u003c/code\u003e\u003c/a\u003e Release 3.24.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e266937a96be84181c8e7464ad1f567b70cf99b6\"\u003e\u003ccode\u003ee266937\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e65c3b836a90e09d27abfe3855bba4984b85a115\"\u003e\u003ccode\u003ee65c3b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a67ae005e57aa67b6026af3122a092f73aff69b6\"\u003e\u003ccode\u003ea67ae00\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): add trailing blank line after changelog entries (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/db3e05a5ea4dcb6fa96bad3dd033881a6dfd2014\"\u003e\u003ccode\u003edb3e05a\u003c/code\u003e\u003c/a\u003e Release 3.24.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ab6b90e809ebd9187ee77ce09f97bd5dce102a39\"\u003e\u003ccode\u003eab6b90e\u003c/code\u003e\u003c/a\u003e 🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/98b4ee96a46514beea08a2c90eca4ee5e1a4c5b2\"\u003e\u003ccode\u003e98b4ee9\u003c/code\u003e\u003c/a\u003e 🐛 fix(test): resolve flaky write non-starvation test (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ef15f6bc106f197711850f18a281fd87bd7bedff\"\u003e\u003ccode\u003eef15f6b\u003c/code\u003e\u003c/a\u003e 📝 docs: restructure using Diataxis framework (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0b2f65ba65b3241a0d273a23bd729601e3ebe541\"\u003e\u003ccode\u003e0b2f65b\u003c/code\u003e\u003c/a\u003e Release 3.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/abccdba2fb1532245625139f28dabf42b31a19a3\"\u003e\u003ccode\u003eabccdba\u003c/code\u003e\u003c/a\u003e 🐛 fix(soft): resolve Windows deadlock and test race condition (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.3...3.24.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-core` from 2.29.0 to 2.30.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-api-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-api-core: v2.30.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003e2.30.0\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve exception cause (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c7fc19303e0f1d7357109a73c13f875a5ced7606\"\u003ec7fc19303e0f1d7357109a73c13f875a5ced7606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erequire Python ≥ 3.9, protobuf ≥ 4.25.8 (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2d1aa4288c222b247fc49ea0da03c126c051e079\"\u003e2d1aa4288c222b247fc49ea0da03c126c051e079\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/googleapis/google-cloud-python/commit/f0841b187388e1a63dcc258d48497b4356a60f3a\"\u003e\u003ccode\u003ef0841b1\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260217T210947Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15573\"\u003e#15573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd22688dd38fffffeebdb8590541c79a4d5995c2\"\u003e\u003ccode\u003efd22688\u003c/code\u003e\u003c/a\u003e chore: librarian onboard pull request: 20260218T181744Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15579\"\u003e#15579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/930dc0fd0425a221cf30b9b2e68a69726a3864ec\"\u003e\u003ccode\u003e930dc0f\u003c/code\u003e\u003c/a\u003e docs: update the list of available APIs (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15571\"\u003e#15571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/085a9fa86d6e4189b5dc495712457391d3a8575f\"\u003e\u003ccode\u003e085a9fa\u003c/code\u003e\u003c/a\u003e chores: add .repo-metadata.json for google-cloud-vectorsearch (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15574\"\u003e#15574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4ca6f9e2f825c185d092f9879c05098659b1a871\"\u003e\u003ccode\u003e4ca6f9e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260218T081656Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15577\"\u003e#15577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e1b43528a2848c91a53b907474a7f787208995bf\"\u003e\u003ccode\u003ee1b4352\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-api-core into packages/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5f4fbded13aaf8e81b813297370038a259315d2c\"\u003e\u003ccode\u003e5f4fbde\u003c/code\u003e\u003c/a\u003e chore: revert changes to scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/485bd6063b5143d287f8f1e8cbc5526c4c242ac0\"\u003e\u003ccode\u003e485bd60\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/452f5d8b33ebce54d229512855a34ca923040205\"\u003e\u003ccode\u003e452f5d8\u003c/code\u003e\u003c/a\u003e chore: update librarian state.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d8e1a9abf6a581d3bc10bef2cfba788e3bdc3baa\"\u003e\u003ccode\u003ed8e1a9a\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.188.0 to 2.190.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.190.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003e2.190.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eappengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclouddeploy:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econnectors:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtaineranalysis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatafusion:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalabeling:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalineage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edomains:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeventarc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efcm:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkebackup:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ekmsinventory:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedidentities:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emerchantapi:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003enetworkmanagement:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eondemandscanning:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esaasservicemgmt:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecretmanager:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecurityposture:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estorage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ethreatintelligence:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewalletobjects:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eyoutube:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edatastore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirestore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erun:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/7c2030732a0b3e9e75e575b93b0275d170924880\"\u003e\u003ccode\u003e7c20307\u003c/code\u003e\u003c/a\u003e chore(main): release 2.190.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e\u003ccode\u003e49fd63f\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/9071631e9d20162399010b3e5244db7899d19bb8\"\u003e\u003ccode\u003e9071631\u003c/code\u003e\u003c/a\u003e chore: replace old python teams with cloud-sdk-python-team (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/eb9f5ad275a1a7864a26d6d85c306754bb3e2188\"\u003e\u003ccode\u003eeb9f5ad\u003c/code\u003e\u003c/a\u003e chore(main): release 2.189.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2704\"\u003e#2704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/ca1c9b5649da9abf659a1d15f4d417868a376670\"\u003e\u003ccode\u003eca1c9b5\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2712\"\u003e#2712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/049bdb69d976ff4e941fb3ee503e793caca5bf39\"\u003e\u003ccode\u003e049bdb6\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/fcb5ca7a36ac0e409fb3067164d878417d35ea56\"\u003e\u003ccode\u003efcb5ca7\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2703\"\u003e#2703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.188.0...v2.190.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-artifact-registry` from 1.19.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-artifact-registry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-artifact-registry: v1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ev1.20.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DIRSUM_SHA256 hash type (PiperOrigin-RevId: 865552557) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e9\"\u003e5371e8e9\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/googleapis/google-cloud-python/commit/0e4866eb2bc3fdc2c5f5d18d2c3347d225be6b1b\"\u003e\u003ccode\u003e0e4866e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260212T081040Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15564\"\u003e#15564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b483e9218e14736a27c6547c2da15a9ca74c0db9\"\u003e\u003ccode\u003eb483e92\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T172749Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15560\"\u003e#15560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e931dfba1d504ac2ffbd48a7f4abdcc158\"\u003e\u003ccode\u003e5371e8e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T082017Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15556\"\u003e#15556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e04fc9c11cf32fac41d37fd599c555650b47d4ba\"\u003e\u003ccode\u003ee04fc9c\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-runtimeconfig into pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/973729baee55a2f2c16c7bb1015f2880b21d58c9\"\u003e\u003ccode\u003e973729b\u003c/code\u003e\u003c/a\u003e clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/a6b40b3154a526d35267abafde4c64aa86bcc27c\"\u003e\u003ccode\u003ea6b40b3\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T165038Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15554\"\u003e#15554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/99a1284fe05e38e313d6504409574536674a32b5\"\u003e\u003ccode\u003e99a1284\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T151820Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15553\"\u003e#15553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/151eeae8c09995b3f64fed6c692e79e2b25d8147\"\u003e\u003ccode\u003e151eeae\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-test-utils into package...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/69d956e66190e10f1a99980350429caa8b2aefa0\"\u003e\u003ccode\u003e69d956e\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/0b70fa81d1d7dfc0427490e7840e57d42dea5758\"\u003e\u003ccode\u003e0b70fa8\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-pubsub` from 2.34.0 to 2.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/releases\"\u003egoogle-cloud-pubsub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-pubsub 2.35.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (PiperOrigin-RevId: 840763233) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd tags documentation links to Pub/Sub resource tags fields (PiperOrigin-RevId: 845891076) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/blob/main/CHANGELOG.md\"\u003egoogle-cloud-pubsub's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd tags documentation links to Pub/Sub resource tags fields (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\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/googleapis/python-pubsub/commit/63796ff3def3658ea22d4c2b734c08ad5ed94e72\"\u003e\u003ccode\u003e63796ff\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260205T215747Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1581\"\u003e#1581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e\u003ccode\u003e0701113\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260205T210552Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1580\"\u003e#1580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/e4b4f5228f153d3263ff853e690b88f28d770c1d\"\u003e\u003ccode\u003ee4b4f52\u003c/code\u003e\u003c/a\u003e chore: bump dependencies manually (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1579\"\u003e#1579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/6fd28b04d0a572a31528aee74cb4484a7e07dffa\"\u003e\u003ccode\u003e6fd28b0\u003c/code\u003e\u003c/a\u003e build(deps): bump protobuf from 6.32.1 to 6.33.5 in /samples/snippets (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1577\"\u003e#1577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/0e0eda944bf97e9c934f4fce9a72cf7ab66b8ad7\"\u003e\u003ccode\u003e0e0eda9\u003c/code\u003e\u003c/a\u003e chore: Migrate gsutil usage to gcloud storage (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1574\"\u003e#1574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/13f8341478ea97f6ed8b5e7f7e7f75500da665c9\"\u003e\u003ccode\u003e13f8341\u003c/code\u003e\u003c/a\u003e Chore: Remove Py3.7+3.8 Support (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1573\"\u003e#1573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-compute` from 1.43.0 to 1.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-compute's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-compute: v1.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ev1.44.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compute Engine v1 API to revision 20260106 (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/1148\"\u003e#1148\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d1ce4d35\"\u003ed1ce4d35\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/googleapis/google-cloud-python/commit/2c66d48f374bf39a29d4bd6cdba922ce31b499c8\"\u003e\u003ccode\u003e2c66d48\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260226T081244Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15616\"\u003e#15616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd4da88078602585c14ad8de307e59bdbbfa6a53\"\u003e\u003ccode\u003efd4da88\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-logging into packages/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/717c1581c214d4a445838c66915a5745ad6a30c0\"\u003e\u003ccode\u003e717c158\u003c/code\u003e\u003c/a\u003e tests: add system test dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/7597cca2aebef327023e898106a8f8259c4702eb\"\u003e\u003ccode\u003e7597cca\u003c/code\u003e\u003c/a\u003e tests: enable system tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e0426dc7825f600c7ed5e27ed78e264f51c41942\"\u003e\u003ccode\u003ee0426dc\u003c/code\u003e\u003c/a\u003e chore(multiple): format handwritten code (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15617\"\u003e#15617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ff062e420f80eb1b33ff0767c74074539836bff6\"\u003e\u003ccode\u003eff062e4\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into migration.python-logging.migration.2026-02-20_16-32-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/72db7952c8e529a4acfca00f9069e16704b8fc38\"\u003e\u003ccode\u003e72db795\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/80a84800e66bb8d4ede5d0b52a2eb416e7645d7c\"\u003e\u003ccode\u003e80a8480\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2a35c6add8453e5bb2e5cb48db99a75d125931e4\"\u003e\u003ccode\u003e2a35c6a\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6f2ce049f3b2030548a1210938be05379a9abfb8\"\u003e\u003ccode\u003e6f2ce04\u003c/code\u003e\u003c/a\u003e chore: format using ruff\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-storage` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-storage/releases\"\u003egoogle-cloud-storage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-storage 3.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-storage/compare/v3.8.0...v3.9.0\"\u003e3.9.0\u003c/a\u003e (2026-02-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eupdate generation for MRD (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1730\"\u003e#1730\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/08bc7082\"\u003e08bc7082\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd get_object method for async grpc client (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1735\"\u003e#1735\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/0e5ec29b\"\u003e0e5ec29b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for reads comparing standard (regional) vs rapid (zonal) buckets. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1697\"\u003e#1697\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/1917649f\"\u003e1917649f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for opening via \u003ccode\u003ewrite_handle\u003c/code\u003e and fix \u003ccode\u003ewrite_handle\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1715\"\u003e#1715\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2bc15fa5\"\u003e2bc15fa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1705\"\u003e#1705\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd context manager to mrd (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1724\"\u003e#1724\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/5ac2808a\"\u003e5ac2808a\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove Zonal Buckets features of \u003ccode\u003e_experimental\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1728\"\u003e#1728\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/74c9ecc5\"\u003e74c9ecc5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd default user agent for grpc (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1726\"\u003e#1726\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/7b319469\"\u003e7b319469\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose finalized_time in blob.py applicable for GET_OBJECT in ZB (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1719\"\u003e#1719\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/8e21a7fe\"\u003e8e21a7fe\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose \u003ccode\u003eDELETE_OBJECT\u003c/code\u003e   in \u003ccode\u003eAsyncGrpcClient\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1718\"\u003e#1718\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/c8dd7a0b\"\u003ec8dd7a0b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esend \u003ccode\u003euser_agent\u003c/code\u003e to grpc channel (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1712\"\u003e#1712\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/cdb2486b\"\u003ecdb2486b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eintegrate writes strategy and appendable object writer (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1695\"\u003e#1695\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/dbd162b3\"\u003edbd162b3\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for writes comparing standard (r...\n\n_Description has been truncated_","html_url":"https://github.com/cboneti/cluster-toolkit/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cboneti%2Fcluster-toolkit/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"}},{"old_version":"4.0.3","new_version":"4.1.1","update_type":"minor","path":"/community/front-end/ofe","pr_created_at":"2026-03-01T11:06:26.000Z","version_change":"4.0.3 → 4.1.1","issue":{"uuid":"4006931457","node_id":"PR_kwDOGLHsfc7HHPdU","number":5296,"state":"open","title":"Bump the ofe-minor-and-patch-updates group in /community/front-end/ofe with 20 updates","user":"dependabot[bot]","labels":["dependencies","python","release-chore","external"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T11:06:26.000Z","updated_at":"2026-03-02T05:18:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ofe-minor-and-patch-updates","update_count":20,"packages":[{"name":"asgiref","old_version":"3.11.0","new_version":"3.11.1","repository_url":"https://github.com/django/asgiref"},{"name":"astroid","old_version":"4.0.3","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"django-allauth","old_version":"65.14.0","new_version":"65.14.3","repository_url":"https://github.com/sponsors/pennersr"},{"name":"django-crispy-forms","old_version":"2.5","new_version":"2.6","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"filelock","old_version":"3.20.3","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"google-api-core","old_version":"2.29.0","new_version":"2.30.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-api-python-client","old_version":"2.188.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-cloud-artifact-registry","old_version":"1.19.0","new_version":"1.20.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-pubsub","old_version":"2.34.0","new_version":"2.35.0","repository_url":"https://github.com/googleapis/python-pubsub"},{"name":"google-cloud-compute","old_version":"1.43.0","new_version":"1.44.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-storage","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"grpcio","old_version":"1.76.0","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.76.0","new_version":"1.78.0"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"proto-plus","old_version":"1.27.0","new_version":"1.27.1","repository_url":"https://github.com/googleapis/proto-plus-python"},{"name":"pylint","old_version":"4.0.4","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"uvicorn","old_version":"0.40.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xmltodict","old_version":"1.0.2","new_version":"1.0.4","repository_url":"https://github.com/martinblech/xmltodict"}],"path":"/community/front-end/ofe","ecosystem":"pip"},"body":"Bumps the ofe-minor-and-patch-updates group in /community/front-end/ofe with 20 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [asgiref](https://github.com/django/asgiref) | `3.11.0` | `3.11.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.3` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [django-allauth](https://github.com/sponsors/pennersr) | `65.14.0` | `65.14.3` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `2.5` | `2.6` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.24.3` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.29.0` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.188.0` | `2.190.0` |\n| [google-cloud-artifact-registry](https://github.com/googleapis/google-cloud-python) | `1.19.0` | `1.20.0` |\n| [google-cloud-pubsub](https://github.com/googleapis/python-pubsub) | `2.34.0` | `2.35.0` |\n| [google-cloud-compute](https://github.com/googleapis/google-cloud-python) | `1.43.0` | `1.44.0` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.8.0` | `3.9.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.76.0` | `1.78.0` |\n| [grpcio-status](https://grpc.io) | `1.76.0` | `1.78.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [proto-plus](https://github.com/googleapis/proto-plus-python) | `1.27.0` | `1.27.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.4` | `4.0.5` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.40.0` | `0.41.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.1.0` | `2.1.1` |\n| [xmltodict](https://github.com/martinblech/xmltodict) | `1.0.2` | `1.0.4` |\n\nUpdates `asgiref` from 3.11.0 to 3.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django/asgiref/blob/main/CHANGELOG.txt\"\u003easgiref's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.1 (2026-02-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSECURITY FIX CVE-2025-14550: There was a potential DoS vector for users of\nthe \u003ccode\u003easgiref.wsgi.WsgiToAsgi\u003c/code\u003e adapter. Malicious requests, including an unreasonably\nlarge number of values for the same header, could lead to resource exhaustion\nwhen building the WSGI environment.\u003c/p\u003e\n\u003cp\u003eTo mitigate this, the algorithm is changed to be more efficient, and\n\u003ccode\u003eWsgiToAsgi\u003c/code\u003e gains a new optional \u003ccode\u003eduplicate_header_limit\u003c/code\u003e parameter,\nwhich defaults to 100. This specifies the number of times a single header may\nbe repeated before the request is rejected as malformed.\u003c/p\u003e\n\u003cp\u003eYou may override \u003ccode\u003eduplicate_header_limit\u003c/code\u003e when configuring your application::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eapplication = WsgiToAsgi(wsgi_app, duplicate_header_limit=200)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSet \u003ccode\u003eduplicate_header_limit=None\u003c/code\u003e if you wish to disable this check.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a regression in 3.11.0 in \u003ccode\u003esync_to_async\u003c/code\u003e when wrapping a callable\nwith an attribute named \u003ccode\u003econtext\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/537\"\u003e#537\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/d97a7339524c89798c510de6c142b663fe40400c\"\u003e\u003ccode\u003ed97a733\u003c/code\u003e\u003c/a\u003e Releasing 3.11.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/a50968a52a50a0bcb0f339ba41e8b52cbf74c604\"\u003e\u003ccode\u003ea50968a\u003c/code\u003e\u003c/a\u003e CVE-2025-14550: Fixed duplicate header handling in WsgiToAsgi.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/0fb85a4352b079ab8191cc593865bd99c987141f\"\u003e\u003ccode\u003e0fb85a4\u003c/code\u003e\u003c/a\u003e Fixed sync_to_async wrapping callables with attribute named \u003ccode\u003econtext\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/asgiref/commit/2b28409ab83b3e4cf6fed9019403b71f8d7d1c51\"\u003e\u003ccode\u003e2b28409\u003c/code\u003e\u003c/a\u003e Updated Hypercorn homepage URL (\u003ca href=\"https://redirect.github.com/django/asgiref/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django/asgiref/compare/3.11.0...3.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.3 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth` from 65.14.0 to 65.14.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 2.5 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\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/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/dc8007e35f3387cca3e799a6fc93226a5a808bdc\"\u003e\u003ccode\u003edc8007e\u003c/code\u003e\u003c/a\u003e Release 2.6. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/792c6717388aef8fa4b8482f6858048afaa6803f\"\u003e\u003ccode\u003e792c671\u003c/code\u003e\u003c/a\u003e Updated versions in pyproject.toml. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/af31d24c681a90b5217df66d47a6da292baff89c\"\u003e\u003ccode\u003eaf31d24\u003c/code\u003e\u003c/a\u003e Fix incorrect reverse in crispy tag docs (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/fb7acdcbb861a5194e26739cf5e2f0ac16d4b30c\"\u003e\u003ccode\u003efb7acdc\u003c/code\u003e\u003c/a\u003e Don't crash when using the crispy template tag and missing variables (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/d30a0ab6e3f180c9ca63636a45e261b0815ce0ac\"\u003e\u003ccode\u003ed30a0ab\u003c/code\u003e\u003c/a\u003e Dropped unsupported Django versions. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/3f5b88da2a305f79a8cae5f6bd54475c22535652\"\u003e\u003ccode\u003e3f5b88d\u003c/code\u003e\u003c/a\u003e Improved |as_crispy_field error message. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/6a97c68d7465a75db57108d50959f98aabd2ec1b\"\u003e\u003ccode\u003e6a97c68\u003c/code\u003e\u003c/a\u003e Fix typos in some files (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.5...2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.20.3 to 3.24.3\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\u003e3.24.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries 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/492\"\u003etox-dev/filelock#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire 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/495\"\u003etox-dev/filelock#495\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/3.24.2...3.24.3\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.2...3.24.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework 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/489\"\u003etox-dev/filelock#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test 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/490\"\u003etox-dev/filelock#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race 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/491\"\u003etox-dev/filelock#491\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/3.24.1...3.24.2\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.1...3.24.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition 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/488\"\u003etox-dev/filelock#488\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/3.24.0...3.24.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.0...3.24.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS 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/480\"\u003etox-dev/filelock#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor 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/482\"\u003etox-dev/filelock#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage 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/484\"\u003etox-dev/filelock#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACL inheritance 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/483\"\u003etox-dev/filelock#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock 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/481\"\u003etox-dev/filelock#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire 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/487\"\u003etox-dev/filelock#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration 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/486\"\u003etox-dev/filelock#486\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/3.23.0...3.24.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.23.0...3.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.23.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries 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/478\"\u003etox-dev/filelock#478\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\u003chr /\u003e\n\u003cp\u003e3.24.3 (2026-02-19)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire :pr:\u003ccode\u003e495\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): add trailing blank line after changelog entries :pr:\u003ccode\u003e492\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.2 (2026-02-16)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race :pr:\u003ccode\u003e491\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(test): resolve flaky write non-starvation test :pr:\u003ccode\u003e490\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: restructure using Diataxis framework :pr:\u003ccode\u003e489\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.1 (2026-02-15)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): resolve Windows deadlock and test race condition :pr:\u003ccode\u003e488\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.24.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(lock): add lifetime parameter for lock expiration (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/68\"\u003e#68\u003c/a\u003e) :pr:\u003ccode\u003e486\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add cancel_check to acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/309\"\u003e#309\u003c/a\u003e) :pr:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(api): detect same-thread self-deadlock :pr:\u003ccode\u003e481\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(mode): respect POSIX default ACLs (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/378\"\u003e#378\u003c/a\u003e) :pr:\u003ccode\u003e483\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): eliminate lock file race in threaded usage :pr:\u003ccode\u003e484\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(lock): add poll_interval to constructor :pr:\u003ccode\u003e482\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(unix): auto-fallback to SoftFileLock on ENOSYS :pr:\u003ccode\u003e480\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.23.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs: move from Unlicense to MIT :pr:\u003ccode\u003e479\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs: add fasteners to similar libraries :pr:\u003ccode\u003e478\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.22.0 (2026-02-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): skip stale detection on Windows :pr:\u003ccode\u003e477\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): detect and break stale locks :pr:\u003ccode\u003e476\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b34b3df34b8a6a6c7739483283ef40891d5ddbda\"\u003e\u003ccode\u003eb34b3df\u003c/code\u003e\u003c/a\u003e Release 3.24.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e266937a96be84181c8e7464ad1f567b70cf99b6\"\u003e\u003ccode\u003ee266937\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): handle ENOENT race on FUSE/NFS during acquire (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e65c3b836a90e09d27abfe3855bba4984b85a115\"\u003e\u003ccode\u003ee65c3b8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a67ae005e57aa67b6026af3122a092f73aff69b6\"\u003e\u003ccode\u003ea67ae00\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): add trailing blank line after changelog entries (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/db3e05a5ea4dcb6fa96bad3dd033881a6dfd2014\"\u003e\u003ccode\u003edb3e05a\u003c/code\u003e\u003c/a\u003e Release 3.24.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ab6b90e809ebd9187ee77ce09f97bd5dce102a39\"\u003e\u003ccode\u003eab6b90e\u003c/code\u003e\u003c/a\u003e 🐛 fix(rw): close sqlite3 cursors and skip SoftFileLock Windows race (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/491\"\u003e#491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/98b4ee96a46514beea08a2c90eca4ee5e1a4c5b2\"\u003e\u003ccode\u003e98b4ee9\u003c/code\u003e\u003c/a\u003e 🐛 fix(test): resolve flaky write non-starvation test (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/ef15f6bc106f197711850f18a281fd87bd7bedff\"\u003e\u003ccode\u003eef15f6b\u003c/code\u003e\u003c/a\u003e 📝 docs: restructure using Diataxis framework (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/489\"\u003e#489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0b2f65ba65b3241a0d273a23bd729601e3ebe541\"\u003e\u003ccode\u003e0b2f65b\u003c/code\u003e\u003c/a\u003e Release 3.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/abccdba2fb1532245625139f28dabf42b31a19a3\"\u003e\u003ccode\u003eabccdba\u003c/code\u003e\u003c/a\u003e 🐛 fix(soft): resolve Windows deadlock and test race condition (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.3...3.24.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-core` from 2.29.0 to 2.30.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-api-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-api-core: v2.30.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003e2.30.0\u003c/a\u003e (2026-02-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve exception cause (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c7fc19303e0f1d7357109a73c13f875a5ced7606\"\u003ec7fc19303e0f1d7357109a73c13f875a5ced7606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erequire Python ≥ 3.9, protobuf ≥ 4.25.8 (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2d1aa4288c222b247fc49ea0da03c126c051e079\"\u003e2d1aa4288c222b247fc49ea0da03c126c051e079\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/googleapis/google-cloud-python/commit/f0841b187388e1a63dcc258d48497b4356a60f3a\"\u003e\u003ccode\u003ef0841b1\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260217T210947Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15573\"\u003e#15573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd22688dd38fffffeebdb8590541c79a4d5995c2\"\u003e\u003ccode\u003efd22688\u003c/code\u003e\u003c/a\u003e chore: librarian onboard pull request: 20260218T181744Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15579\"\u003e#15579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/930dc0fd0425a221cf30b9b2e68a69726a3864ec\"\u003e\u003ccode\u003e930dc0f\u003c/code\u003e\u003c/a\u003e docs: update the list of available APIs (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15571\"\u003e#15571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/085a9fa86d6e4189b5dc495712457391d3a8575f\"\u003e\u003ccode\u003e085a9fa\u003c/code\u003e\u003c/a\u003e chores: add .repo-metadata.json for google-cloud-vectorsearch (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15574\"\u003e#15574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4ca6f9e2f825c185d092f9879c05098659b1a871\"\u003e\u003ccode\u003e4ca6f9e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260218T081656Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15577\"\u003e#15577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e1b43528a2848c91a53b907474a7f787208995bf\"\u003e\u003ccode\u003ee1b4352\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-api-core into packages/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5f4fbded13aaf8e81b813297370038a259315d2c\"\u003e\u003ccode\u003e5f4fbde\u003c/code\u003e\u003c/a\u003e chore: revert changes to scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/485bd6063b5143d287f8f1e8cbc5526c4c242ac0\"\u003e\u003ccode\u003e485bd60\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/452f5d8b33ebce54d229512855a34ca923040205\"\u003e\u003ccode\u003e452f5d8\u003c/code\u003e\u003c/a\u003e chore: update librarian state.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d8e1a9abf6a581d3bc10bef2cfba788e3bdc3baa\"\u003e\u003ccode\u003ed8e1a9a\u003c/code\u003e\u003c/a\u003e chore: clean up\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-api-core-v2.29.0...google-api-core-v2.30.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.188.0 to 2.190.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.190.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003e2.190.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eappengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclouddeploy:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econnectors:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtaineranalysis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatafusion:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalabeling:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalineage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edomains:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeventarc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efcm:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkebackup:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ekmsinventory:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedidentities:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emerchantapi:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003enetworkmanagement:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eondemandscanning:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esaasservicemgmt:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecretmanager:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecurityposture:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estorage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ethreatintelligence:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewalletobjects:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eyoutube:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edatastore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirestore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erun:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/7c2030732a0b3e9e75e575b93b0275d170924880\"\u003e\u003ccode\u003e7c20307\u003c/code\u003e\u003c/a\u003e chore(main): release 2.190.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e\u003ccode\u003e49fd63f\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/9071631e9d20162399010b3e5244db7899d19bb8\"\u003e\u003ccode\u003e9071631\u003c/code\u003e\u003c/a\u003e chore: replace old python teams with cloud-sdk-python-team (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/eb9f5ad275a1a7864a26d6d85c306754bb3e2188\"\u003e\u003ccode\u003eeb9f5ad\u003c/code\u003e\u003c/a\u003e chore(main): release 2.189.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2704\"\u003e#2704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/ca1c9b5649da9abf659a1d15f4d417868a376670\"\u003e\u003ccode\u003eca1c9b5\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2712\"\u003e#2712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/049bdb69d976ff4e941fb3ee503e793caca5bf39\"\u003e\u003ccode\u003e049bdb6\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/fcb5ca7a36ac0e409fb3067164d878417d35ea56\"\u003e\u003ccode\u003efcb5ca7\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2703\"\u003e#2703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.188.0...v2.190.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-artifact-registry` from 1.19.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-artifact-registry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-artifact-registry: v1.20.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ev1.20.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DIRSUM_SHA256 hash type (PiperOrigin-RevId: 865552557) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e9\"\u003e5371e8e9\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/googleapis/google-cloud-python/commit/0e4866eb2bc3fdc2c5f5d18d2c3347d225be6b1b\"\u003e\u003ccode\u003e0e4866e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260212T081040Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15564\"\u003e#15564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b483e9218e14736a27c6547c2da15a9ca74c0db9\"\u003e\u003ccode\u003eb483e92\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T172749Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15560\"\u003e#15560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/5371e8e931dfba1d504ac2ffbd48a7f4abdcc158\"\u003e\u003ccode\u003e5371e8e\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260211T082017Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15556\"\u003e#15556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e04fc9c11cf32fac41d37fd599c555650b47d4ba\"\u003e\u003ccode\u003ee04fc9c\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-runtimeconfig into pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/973729baee55a2f2c16c7bb1015f2880b21d58c9\"\u003e\u003ccode\u003e973729b\u003c/code\u003e\u003c/a\u003e clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/a6b40b3154a526d35267abafde4c64aa86bcc27c\"\u003e\u003ccode\u003ea6b40b3\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T165038Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15554\"\u003e#15554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/99a1284fe05e38e313d6504409574536674a32b5\"\u003e\u003ccode\u003e99a1284\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260210T151820Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15553\"\u003e#15553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/151eeae8c09995b3f64fed6c692e79e2b25d8147\"\u003e\u003ccode\u003e151eeae\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-test-utils into package...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/69d956e66190e10f1a99980350429caa8b2aefa0\"\u003e\u003ccode\u003e69d956e\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/0b70fa81d1d7dfc0427490e7840e57d42dea5758\"\u003e\u003ccode\u003e0b70fa8\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-artifact-registry-v1.19.0...google-cloud-artifact-registry-v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-pubsub` from 2.34.0 to 2.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/releases\"\u003egoogle-cloud-pubsub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-pubsub 2.35.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (PiperOrigin-RevId: 840763233) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (PiperOrigin-RevId: 853856321) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd tags documentation links to Pub/Sub resource tags fields (PiperOrigin-RevId: 845891076) (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139\"\u003e07011139\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-pubsub/blob/main/CHANGELOG.md\"\u003egoogle-cloud-pubsub's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003e2.35.0\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etopic\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003eanalytics_hub_subscription_info\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.Subscription\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003esubscription\u003c/code\u003e in message \u003ccode\u003e.google.pubsub.v1.CreateSnapshotRequest\u003c/code\u003e is updated (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd tags documentation links to Pub/Sub resource tags fields (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AIInference MessageTransform type (\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e07011139f51e4ff195889faf849bd707655e6d46\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/googleapis/python-pubsub/commit/63796ff3def3658ea22d4c2b734c08ad5ed94e72\"\u003e\u003ccode\u003e63796ff\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260205T215747Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1581\"\u003e#1581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/07011139f51e4ff195889faf849bd707655e6d46\"\u003e\u003ccode\u003e0701113\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260205T210552Z (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1580\"\u003e#1580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/e4b4f5228f153d3263ff853e690b88f28d770c1d\"\u003e\u003ccode\u003ee4b4f52\u003c/code\u003e\u003c/a\u003e chore: bump dependencies manually (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1579\"\u003e#1579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/6fd28b04d0a572a31528aee74cb4484a7e07dffa\"\u003e\u003ccode\u003e6fd28b0\u003c/code\u003e\u003c/a\u003e build(deps): bump protobuf from 6.32.1 to 6.33.5 in /samples/snippets (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1577\"\u003e#1577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/0e0eda944bf97e9c934f4fce9a72cf7ab66b8ad7\"\u003e\u003ccode\u003e0e0eda9\u003c/code\u003e\u003c/a\u003e chore: Migrate gsutil usage to gcloud storage (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1574\"\u003e#1574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-pubsub/commit/13f8341478ea97f6ed8b5e7f7e7f75500da665c9\"\u003e\u003ccode\u003e13f8341\u003c/code\u003e\u003c/a\u003e Chore: Remove Py3.7+3.8 Support (\u003ca href=\"https://redirect.github.com/googleapis/python-pubsub/issues/1573\"\u003e#1573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/python-pubsub/compare/v2.34.0...v2.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-compute` from 1.43.0 to 1.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-compute's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-compute: v1.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ev1.44.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compute Engine v1 API to revision 20260106 (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/1148\"\u003e#1148\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d1ce4d35\"\u003ed1ce4d35\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/googleapis/google-cloud-python/commit/2c66d48f374bf39a29d4bd6cdba922ce31b499c8\"\u003e\u003ccode\u003e2c66d48\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260226T081244Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15616\"\u003e#15616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fd4da88078602585c14ad8de307e59bdbbfa6a53\"\u003e\u003ccode\u003efd4da88\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/python-logging into packages/g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/717c1581c214d4a445838c66915a5745ad6a30c0\"\u003e\u003ccode\u003e717c158\u003c/code\u003e\u003c/a\u003e tests: add system test dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/7597cca2aebef327023e898106a8f8259c4702eb\"\u003e\u003ccode\u003e7597cca\u003c/code\u003e\u003c/a\u003e tests: enable system tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/e0426dc7825f600c7ed5e27ed78e264f51c41942\"\u003e\u003ccode\u003ee0426dc\u003c/code\u003e\u003c/a\u003e chore(multiple): format handwritten code (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15617\"\u003e#15617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/ff062e420f80eb1b33ff0767c74074539836bff6\"\u003e\u003ccode\u003eff062e4\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into migration.python-logging.migration.2026-02-20_16-32-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/72db7952c8e529a4acfca00f9069e16704b8fc38\"\u003e\u003ccode\u003e72db795\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/80a84800e66bb8d4ede5d0b52a2eb416e7645d7c\"\u003e\u003ccode\u003e80a8480\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/2a35c6add8453e5bb2e5cb48db99a75d125931e4\"\u003e\u003ccode\u003e2a35c6a\u003c/code\u003e\u003c/a\u003e chore: run librarian generate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6f2ce049f3b2030548a1210938be05379a9abfb8\"\u003e\u003ccode\u003e6f2ce04\u003c/code\u003e\u003c/a\u003e chore: format using ruff\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-compute-v1.43.0...google-cloud-compute-v1.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-storage` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-storage/releases\"\u003egoogle-cloud-storage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-storage 3.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-storage/compare/v3.8.0...v3.9.0\"\u003e3.9.0\u003c/a\u003e (2026-02-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eupdate generation for MRD (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1730\"\u003e#1730\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/08bc7082\"\u003e08bc7082\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd get_object method for async grpc client (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1735\"\u003e#1735\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/0e5ec29b\"\u003e0e5ec29b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for reads comparing standard (regional) vs rapid (zonal) buckets. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1697\"\u003e#1697\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/1917649f\"\u003e1917649f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for opening via \u003ccode\u003ewrite_handle\u003c/code\u003e and fix \u003ccode\u003ewrite_handle\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1715\"\u003e#1715\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2bc15fa5\"\u003e2bc15fa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd samples for appendable objects writes and reads (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1705\"\u003e#1705\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2e1a1eb5\"\u003e2e1a1eb5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd context manager to mrd (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1724\"\u003e#1724\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/5ac2808a\"\u003e5ac2808a\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove Zonal Buckets features of \u003ccode\u003e_experimental\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1728\"\u003e#1728\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/74c9ecc5\"\u003e74c9ecc5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd default user agent for grpc (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1726\"\u003e#1726\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/7b319469\"\u003e7b319469\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose finalized_time in blob.py applicable for GET_OBJECT in ZB (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1719\"\u003e#1719\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/8e21a7fe\"\u003e8e21a7fe\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eexpose \u003ccode\u003eDELETE_OBJECT\u003c/code\u003e   in \u003ccode\u003eAsyncGrpcClient\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1718\"\u003e#1718\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/c8dd7a0b\"\u003ec8dd7a0b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esend \u003ccode\u003euser_agent\u003c/code\u003e to grpc channel (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1712\"\u003e#1712\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/cdb2486b\"\u003ecdb2486b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eintegrate writes strategy and appendable object writer (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1695\"\u003e#1695\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/dbd162b3\"\u003edbd162b3\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd micro-benchmarks for writes comparing standard (regional) vs rapid (zonal) buckets. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1707\"\u003e#1707\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/dbe9d8b8\"\u003edbe9d8b8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd support for \u003ccode\u003egeneration=0\u003c/code\u003e to avoid overwriting existing objects and add \u003ccode\u003eis_stream_open\u003c/code\u003e support  (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1709\"\u003e#1709\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/ea0f5bf8\"\u003eea0f5bf8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd support for \u003ccode\u003egeneration=0\u003c/code\u003e to prevent overwriting existing objects (\u003ca href=\"https://github.com/googleapis/python-storage/commit/ea0f5bf8\"\u003eea0f5bf8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd \u003ccode\u003eis_stream_open\u003c/code\u003e property to AsyncAppendableObjectWriter for stream status check (\u003ca href=\"https://github.com/googleapis/python-storage/commit/ea0f5bf8\"\u003eea0f5bf8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ereceive eof while closing reads stream (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1733\"\u003e#1733\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/2ef63396\"\u003e2ef63396\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eupdate write handle on every recv() (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1716\"\u003e#1716\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/5d9fafe1\"\u003e5d9fafe1\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eimplement requests_done method to signal end of requests in async streams. Gracefully close streams. (\u003ca href=\"https://redirect.github.com/googleapis/python-storage/issues/1700\"\u003e#1700\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-storage/commit/6c160794\"\u003e6c160794\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eimplement requests_done method to signal end of requests in async streams. Gracefully close streams. (\u003ca href=\"https://github.com/googleapis/python-storage/commit/6c160794\"\u003e6c160794\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003einsta...\n\n_Description has been truncated_","html_url":"https://github.com/GoogleCloudPlatform/cluster-toolkit/pull/5296","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcluster-toolkit/issues/5296","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5296/packages"}},{"old_version":"4.0.4","new_version":"4.1.1","update_type":"minor","path":null,"pr_created_at":"2026-02-26T14:19:31.000Z","version_change":"4.0.4 → 4.1.1","issue":{"uuid":"3995853938","node_id":"PR_kwDOQvbths7GjzJ1","number":287,"state":"open","title":"chore(deps): bump the minor-and-patch group with 25 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-26T14:19:31.000Z","updated_at":"2026-02-26T14:19:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":25,"packages":[{"name":"openai","old_version":"2.18.0","new_version":"2.24.0","repository_url":"https://github.com/openai/openai-python"},{"name":"anthropic","old_version":"0.83.0","new_version":"0.84.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"google-ai-generativelanguage","old_version":"0.6.15","new_version":"0.10.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"langchain-openai","old_version":"1.1.9","new_version":"1.1.10","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-anthropic","old_version":"1.3.3","new_version":"1.3.4","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.2.14","new_version":"1.2.16","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"grpcio-status","old_version":"1.71.2","new_version":"1.78.0"},{"name":"prefect","old_version":"3.6.18","new_version":"3.6.19","repository_url":"https://github.com/PrefectHQ/prefect"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"astroid","old_version":"4.0.4","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"faker","old_version":"40.4.0","new_version":"40.5.1","repository_url":"https://github.com/joke2k/faker"},{"name":"fakeredis","old_version":"2.34.0","new_version":"2.34.1"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.133.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"langgraph-sdk","old_version":"0.3.8","new_version":"0.3.9","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.7.5","new_version":"0.7.7","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"msal","old_version":"1.34.0","new_version":"1.35.0","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"narwhals","old_version":"2.16.0","new_version":"2.17.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.17.8","new_version":"0.17.9","repository_url":"https://github.com/chrisguidry/docket"},{"name":"redis","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/redis/redis-py"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.47"},{"name":"typer","old_version":"0.24.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uuid-utils","old_version":"0.14.0","new_version":"0.14.1","repository_url":"https://github.com/aminalaee/uuid-utils"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [openai](https://github.com/openai/openai-python) | `2.18.0` | `2.24.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.83.0` | `0.84.0` |\n| [google-ai-generativelanguage](https://github.com/googleapis/google-cloud-python) | `0.6.15` | `0.10.0` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.9` | `1.1.10` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.3.4` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.14` | `1.2.16` |\n| [grpcio-status](https://grpc.io) | `1.71.2` | `1.78.0` |\n| [prefect](https://github.com/PrefectHQ/prefect) | `3.6.18` | `3.6.19` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.4` | `4.1.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [faker](https://github.com/joke2k/faker) | `40.4.0` | `40.5.1` |\n| [fakeredis[lua]](https://github.com/cunla/fakeredis-py) | `2.34.0` | `2.34.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.133.1` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.3.2` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.3.8` | `0.3.9` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.5` | `0.7.7` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.34.0` | `1.35.0` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.16.0` | `2.17.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.17.8` | `0.17.9` |\n| [redis](https://github.com/redis/redis-py) | `7.2.0` | `7.2.1` |\n| [sqlalchemy[asyncio]](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.47` |\n| [typer](https://github.com/fastapi/typer) | `0.24.0` | `0.24.1` |\n| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.14.0` | `0.14.1` |\n\nUpdates `openai` from 2.18.0 to 2.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.24.0\u003c/h2\u003e\n\u003ch2\u003e2.24.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.23.0...v2.24.0\"\u003ev2.23.0...v2.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase (\u003ca href=\"https://github.com/openai/openai-python/commit/391deb99f6a92e51bffb25efd8dfe367d144bb9d\"\u003e391deb9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix phase enum (\u003ca href=\"https://github.com/openai/openai-python/commit/42ebf7c30b7e27a175c0d75fcf42c8dc858e56d6\"\u003e42ebf7c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e phase docs (\u003ca href=\"https://github.com/openai/openai-python/commit/7ddc61cd0f7825d5e7f3a10daf809135511d8d20\"\u003e7ddc61c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/openai/openai-python/commit/65af8fd8550e99236e3f4dcb035312441788157a\"\u003e65af8fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e refactor sse event parsing (\u003ca href=\"https://github.com/openai/openai-python/commit/23446008f06fb474d8c75d14a1bce26f4c5b95d8\"\u003e2344600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.23.0\u003c/h2\u003e\n\u003ch2\u003e2.23.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.22.0...v2.23.0\"\u003ev2.22.0...v2.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add gpt-realtime-1.5 and gpt-audio-1.5 model options to realtime calls (\u003ca href=\"https://github.com/openai/openai-python/commit/3300b61e1d5a34c9d28ec9cebbebd0de1fa93aa6\"\u003e3300b61\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/openai/openai-python/commit/6b441e2c43df60a773f62308e918d76b8eb3c4d3\"\u003e6b441e2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.22.0\u003c/h2\u003e\n\u003ch2\u003e2.22.0 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.21.0...v2.22.0\"\u003ev2.21.0...v2.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e websockets for responses api (\u003ca href=\"https://github.com/openai/openai-python/commit/c01f6fb0d55b7454f73c4904ea7a1954553085dc\"\u003ec01f6fb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/openai/openai-python/commit/cdb4315ee29d5260bb373625d74cb523b4e3859c\"\u003ecdb4315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/openai/openai-python/commit/91f4da80ec3dba5d3566961560dfd6feb9c2feb0\"\u003e91f4da8\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.24.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.23.0...v2.24.0\"\u003ev2.23.0...v2.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase (\u003ca href=\"https://github.com/openai/openai-python/commit/391deb99f6a92e51bffb25efd8dfe367d144bb9d\"\u003e391deb9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix phase enum (\u003ca href=\"https://github.com/openai/openai-python/commit/42ebf7c30b7e27a175c0d75fcf42c8dc858e56d6\"\u003e42ebf7c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e phase docs (\u003ca href=\"https://github.com/openai/openai-python/commit/7ddc61cd0f7825d5e7f3a10daf809135511d8d20\"\u003e7ddc61c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/openai/openai-python/commit/65af8fd8550e99236e3f4dcb035312441788157a\"\u003e65af8fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e refactor sse event parsing (\u003ca href=\"https://github.com/openai/openai-python/commit/23446008f06fb474d8c75d14a1bce26f4c5b95d8\"\u003e2344600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.23.0 (2026-02-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.22.0...v2.23.0\"\u003ev2.22.0...v2.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add gpt-realtime-1.5 and gpt-audio-1.5 model options to realtime calls (\u003ca href=\"https://github.com/openai/openai-python/commit/3300b61e1d5a34c9d28ec9cebbebd0de1fa93aa6\"\u003e3300b61\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/openai/openai-python/commit/6b441e2c43df60a773f62308e918d76b8eb3c4d3\"\u003e6b441e2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.22.0 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.21.0...v2.22.0\"\u003ev2.21.0...v2.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e websockets for responses api (\u003ca href=\"https://github.com/openai/openai-python/commit/c01f6fb0d55b7454f73c4904ea7a1954553085dc\"\u003ec01f6fb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/openai/openai-python/commit/cdb4315ee29d5260bb373625d74cb523b4e3859c\"\u003ecdb4315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/openai/openai-python/commit/91f4da80ec3dba5d3566961560dfd6feb9c2feb0\"\u003e91f4da8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/openai/openai-python/commit/656e3cab4a18262a49b961d41293367e45ee71b9\"\u003e\u003ccode\u003e656e3ca\u003c/code\u003e\u003c/a\u003e release: 2.24.0 (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2890\"\u003e#2890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/921c330d4baebb04bbdb8070e9ced539cf49d97a\"\u003e\u003ccode\u003e921c330\u003c/code\u003e\u003c/a\u003e release: 2.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/650ccd90dcad0ce23c06b95d8d07911f19d52513\"\u003e\u003ccode\u003e650ccd9\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/9e9a4f1712ec0ec637ca4f6e3f50e1647d268576\"\u003e\u003ccode\u003e9e9a4f1\u003c/code\u003e\u003c/a\u003e feat(api): add gpt-realtime-1.5 and gpt-audio-1.5 model options to realtime c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/588d239c1073442f982165d310f9ccf09f631f7c\"\u003e\u003ccode\u003e588d239\u003c/code\u003e\u003c/a\u003e chore(internal):  make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/481ff6ef4c050469fa971746fb14b675d90a2e56\"\u003e\u003ccode\u003e481ff6e\u003c/code\u003e\u003c/a\u003e release: 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/e273d622e85d7380f5ce715172c23d55ce8625a9\"\u003e\u003ccode\u003ee273d62\u003c/code\u003e\u003c/a\u003e feat(api): websockets for responses api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c612cfb2bbf8f119839c0625edee523dbf9f54d3\"\u003e\u003ccode\u003ec612cfb\u003c/code\u003e\u003c/a\u003e chore(internal): add request options to SSE classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/849c8df45c8d295604031edfbfcf7e5ce4699c5a\"\u003e\u003ccode\u003e849c8df\u003c/code\u003e\u003c/a\u003e docs(api): add batch size limit to file_batches parameter descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/5e5bc78aa1a8db86876635c786f127f242fdb0f1\"\u003e\u003ccode\u003e5e5bc78\u003c/code\u003e\u003c/a\u003e docs(api): update safety_identifier documentation in chat completions and res...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.18.0...v2.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.83.0 to 0.84.0\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\"\u003eanthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.84.0\u003c/h2\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erebrand to Claude SDK and streamline README (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b544058ab19e55e1c76a4ba9816205d1eedc630\"\u003e6b54405\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/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erebrand to Claude SDK and streamline README (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b544058ab19e55e1c76a4ba9816205d1eedc630\"\u003e6b54405\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/anthropics/anthropic-sdk-python/commit/49d639a671cb0ac30c767e8e1e68fdd5925205d5\"\u003e\u003ccode\u003e49d639a\u003c/code\u003e\u003c/a\u003e release: 0.84.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4d73b2159f7f3e88113a904f785de58ec4157045\"\u003e\u003ccode\u003e4d73b21\u003c/code\u003e\u003c/a\u003e feat(helpers): add conversion helpers for MCP tools, prompts, and resources (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0e4092173fc52d773675f8e3a4ced6a5e2f67c9f\"\u003e\u003ccode\u003e0e40921\u003c/code\u003e\u003c/a\u003e docs: rebrand to Claude SDK and streamline README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c3017a227c67377b862644feb463c0d8a1e9ddc9\"\u003e\u003ccode\u003ec3017a2\u003c/code\u003e\u003c/a\u003e chore(internal): simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/470fda9c14714117342c0491d6e436d158bbb4ab\"\u003e\u003ccode\u003e470fda9\u003c/code\u003e\u003c/a\u003e chore(internal): make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c30c72d710dea90437a73713296e76c12518c359\"\u003e\u003ccode\u003ec30c72d\u003c/code\u003e\u003c/a\u003e chore: add missing raw jsonl results method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9d9a5a1aab3aa67c665c39bbeed3fec298fc2e6a\"\u003e\u003ccode\u003e9d9a5a1\u003c/code\u003e\u003c/a\u003e chore(internal):  make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c28d2d50a5f5197839c36fb4741bee8cd1e976c1\"\u003e\u003ccode\u003ec28d2d5\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bb13f1ea6be3941342115fdb125e3fe225252071\"\u003e\u003ccode\u003ebb13f1e\u003c/code\u003e\u003c/a\u003e chore(internal): add request options to SSE classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ab0ccb990d098ef56c0367abcb0c745d7a58a99e\"\u003e\u003ccode\u003eab0ccb9\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-ai-generativelanguage` from 0.6.15 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/googleapis/google-cloud-python/releases\"\u003egoogle-ai-generativelanguage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.10.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.9.0...google-cloud-geminidataanalytics-v0.10.0\"\u003e0.10.0\u003c/a\u003e (2026-02-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ClarificationMessage, thought-signature, formatted-data (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for enum value THOUGHT in enum TextType is changed (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-netapp 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-netapp-v0.6.0...google-cloud-netapp-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate NetApp v1 API with Host Groups, Block Volumes, Cache Volumes, and Backup Restore This CL introduces several new features and enhancements to the NetApp API: - \u003cstrong\u003eHost Groups:\u003c/strong\u003e Added a new \u003ccode\u003eHostGroup\u003c/code\u003e resource to manage collections of hosts for Block Volume access. Includes full CRUD operations. - \u003cstrong\u003eBlock Volumes:\u003c/strong\u003e Enhanced the \u003ccode\u003eVolume\u003c/code\u003e resource to support \u003ccode\u003eISCSI\u003c/code\u003e protocol and \u003ccode\u003eBlockDevice\u003c/code\u003e configurations. - \u003cstrong\u003eCache Volumes:\u003c/strong\u003e Added \u003ccode\u003eCacheParameters\u003c/code\u003e to the \u003ccode\u003eVolume\u003c/code\u003e resource to support FlexCache volumes. - \u003cstrong\u003eBackup Restore:\u003c/strong\u003e Introduced a new \u003ccode\u003eRestoreBackupFiles\u003c/code\u003e RPC to restore individual files from a backup. - \u003cstrong\u003eCMEK for Backup Vaults:\u003c/strong\u003e Added fields to \u003ccode\u003eBackupVault\u003c/code\u003e to support Customer Managed Encryption Keys (CMEK). - \u003cstrong\u003eStorage Pool Type:\u003c/strong\u003e Added a \u003ccode\u003etype\u003c/code\u003e field to \u003ccode\u003eStoragePool\u003c/code\u003e to specify support for FILE, UNIFIED, or UNIFIED_LARGE_CAPACITY volumes. -   \u003cstrong\u003eLocation Metadata:\u003c/strong\u003e Added \u003ccode\u003ehas_ontap_proxy\u003c/code\u003e flag. -   Updated copyright year to 2026. (PiperOrigin-RevId: 856056649) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.8.0...google-cloud-geminidataanalytics-v0.9.0\"\u003e0.9.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded sync APIs for the CRUD operations of Data Agent (PiperOrigin-RevId: 855534426) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-backupdr 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-backupdr-v0.6.0...google-cloud-backupdr-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupConfigDetails\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new resource_definition \u003ccode\u003ebackupdr.googleapis.com/ResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003ePitrSettings\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupLocation\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsResponse\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsRequest\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new service \u003ccode\u003eBackupDrProtectionSummary\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrTemplateConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrPlanConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\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/googleapis/google-cloud-python/commit/c60ded47847b04b2536f19c1610b5592b7952d6a\"\u003e\u003ccode\u003ec60ded4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T181058Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15005\"\u003e#15005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c0e3e9d221c3b8cd6d99503fadbb8e643db1e325\"\u003e\u003ccode\u003ec0e3e9d\u003c/code\u003e\u003c/a\u003e chore: disable treat warnings as errors (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45d4cee9e0e48a209b2d9292be29a15125548458\"\u003e\u003ccode\u003e45d4cee\u003c/code\u003e\u003c/a\u003e docs(samples): Update BigQuery Storage Arrow samples batching logic (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14961\"\u003e#14961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45149baca6064be265db1b653abb405c298a2b41\"\u003e\u003ccode\u003e45149ba\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T162506Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15001\"\u003e#15001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d58a9ba338df3df1afca11e155fe449c32631179\"\u003e\u003ccode\u003ed58a9ba\u003c/code\u003e\u003c/a\u003e test: Add 'cryptography' 'cachetools' to test deps for bigquery-storage (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14999\"\u003e#14999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/10289465a87988b9bf35a85893f26ea372ad717b\"\u003e\u003ccode\u003e1028946\u003c/code\u003e\u003c/a\u003e feat: add v1 api for google-cloud-maintenance-api (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14998\"\u003e#14998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b3cb4de3ce50c3ec55af2b132d756252a32641f3\"\u003e\u003ccode\u003eb3cb4de\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260107T084051Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14995\"\u003e#14995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/17cc12897e6afdf3f3131531c50a8226a3f57c0f\"\u003e\u003ccode\u003e17cc128\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20251231T091651Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14991\"\u003e#14991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c353aa5bcc937ef9399c8efc90492dadbcf01aa2\"\u003e\u003ccode\u003ec353aa5\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20251219T024955Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14985\"\u003e#14985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f38453832a2bb0226c389c30df13d072d1642377\"\u003e\u003ccode\u003ef384538\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251217T215552Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-ai-generativelanguage-v0.6.15...google-ai-generativelanguage-v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-openai` from 1.1.9 to 1.1.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-openai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-openai==1.1.10\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.1.9\u003c/p\u003e\n\u003cp\u003erelease(openai): 1.1.10 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35292\"\u003e#35292\u003c/a\u003e)\nfeat(openai): support automatic server-side compaction (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35212\"\u003e#35212\u003c/a\u003e)\nfix(openai): add \u003ccode\u003emodel\u003c/code\u003e property (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35284\"\u003e#35284\u003c/a\u003e)\nfix(nomic,openai,perplexity): update pillow version to \u0026gt;= 12.1.1, \u0026lt;13.0.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35254\"\u003e#35254\u003c/a\u003e)\ndocs(openai): more nits (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35277\"\u003e#35277\u003c/a\u003e)\ndocs(openai): clarify reasoning config for openai-compatible endpoints (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35202\"\u003e#35202\u003c/a\u003e)\nfix(openai): gpt-5.2-pro Model Profile \u003ccode\u003estructured_output\u003c/code\u003e key fixed (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35216\"\u003e#35216\u003c/a\u003e)\nchore(openai): extend \u003ccode\u003emodel_token_mapping\u003c/code\u003e till \u003ccode\u003egpt-5.2\u003c/code\u003e for modelname_to_contextsize (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35214\"\u003e#35214\u003c/a\u003e)\nfix(openai): enhance error message for non-OpenAI embedding providers (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35252\"\u003e#35252\u003c/a\u003e)\nfix(openai): sanitize chat completions text content blocks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35217\"\u003e#35217\u003c/a\u003e)\nfix(openai): improve error message for null choices in OpenAI-compatible APIs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35236\"\u003e#35236\u003c/a\u003e)\nfeat(openrouter): add \u003ccode\u003elangchain-openrouter\u003c/code\u003e provider package (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35211\"\u003e#35211\u003c/a\u003e)\nchore: bump pillow from 11.3.0 to 12.1.1 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35177\"\u003e#35177\u003c/a\u003e)\nchore(deps): bump langsmith from 0.4.37 to 0.6.3 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35151\"\u003e#35151\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/langchain-ai/langchain/commit/6fe7845cd175b0029844dbb1d2cc0f06fec6bef4\"\u003e\u003ccode\u003e6fe7845\u003c/code\u003e\u003c/a\u003e release(openai): 1.1.10 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35292\"\u003e#35292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/ba3ad67328fdfc5f093e6d08465890d05d483c28\"\u003e\u003ccode\u003eba3ad67\u003c/code\u003e\u003c/a\u003e fix(core): preserve index and timestamp fields when merging (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34731\"\u003e#34731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0a561244f5aacc863d73accce9dc8e4d52f9131f\"\u003e\u003ccode\u003e0a56124\u003c/code\u003e\u003c/a\u003e docs(core): add security warnings and best practices for deserialization (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35\"\u003e#35\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/f7dbdab5bad857ecc35a45ecefb85c4aa929b681\"\u003e\u003ccode\u003ef7dbdab\u003c/code\u003e\u003c/a\u003e docs: fix docstring inaccuracies and update outdated LangSmith URLs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35283\"\u003e#35283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/8f1bc0d3ae0a089df06a3a99ee11b8fb142568b3\"\u003e\u003ccode\u003e8f1bc0d\u003c/code\u003e\u003c/a\u003e feat(openai): support automatic server-side compaction (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35212\"\u003e#35212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/32c6ab30332ff45d6bdb5ef63879faef1de38048\"\u003e\u003ccode\u003e32c6ab3\u003c/code\u003e\u003c/a\u003e fix(openai): add \u003ccode\u003emodel\u003c/code\u003e property (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35284\"\u003e#35284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/4150bb513fbe5c9cda14446fc8db88af2d92fec5\"\u003e\u003ccode\u003e4150bb5\u003c/code\u003e\u003c/a\u003e fix(mistralai): update test (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35270\"\u003e#35270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/dba5266fa944e51eecf1e83184a6cf50e97f9d34\"\u003e\u003ccode\u003edba5266\u003c/code\u003e\u003c/a\u003e chore: bump langchainhub from 0.1.18 to 0.1.21 in /libs/langchain in the lang...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/338fd021fe86ee79c8294409c3204cdc2d83f597\"\u003e\u003ccode\u003e338fd02\u003c/code\u003e\u003c/a\u003e chore: bump transformers from 5.1.0 to 5.2.0 in /libs/text-splitters in the o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/c997955bf3b76e5fe5c5e05648c8978c2320d9c4\"\u003e\u003ccode\u003ec997955\u003c/code\u003e\u003c/a\u003e chore(infra): updates for openrouter/ollama (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35278\"\u003e#35278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-openai==1.1.9...langchain-openai==1.1.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-anthropic` from 1.3.3 to 1.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-anthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-anthropic==1.3.4\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.3\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\nfix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\nfix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\nrevert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\nfix(anthropic): replace retired model IDs in tests and docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35365\"\u003e#35365\u003c/a\u003e)\nfeat(anthropic): add ChatAnthropicBedrock wrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35091\"\u003e#35091\u003c/a\u003e)\nfix(model-profiles): sort generated profiles by model ID for stable diffs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35344\"\u003e#35344\u003c/a\u003e)\nfix(anthropic): set max input tokens based on 1m context beta header (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35341\"\u003e#35341\u003c/a\u003e)\nchore: bump model profiles (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35294\"\u003e#35294\u003c/a\u003e)\nfeat(anthropic): add User-Agent header for Anthropic API calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35268\"\u003e#35268\u003c/a\u003e)\nchore(anthropic): add version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35293\"\u003e#35293\u003c/a\u003e)\nfix(anthropic): hoist cache_control from tool_result content sub-blocks to tool_result level (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35126\"\u003e#35126\u003c/a\u003e)\nchore(deps): bump langsmith from 0.4.43 to 0.6.3 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35150\"\u003e#35150\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/langchain-ai/langchain/commit/4ffb584ddf09440184dda63d11187b0bdd2b63b2\"\u003e\u003ccode\u003e4ffb584\u003c/code\u003e\u003c/a\u003e release(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/cdb9742511d57b8eb3d37f93d115ae9b4d60dba4\"\u003e\u003ccode\u003ecdb9742\u003c/code\u003e\u003c/a\u003e fix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0b975d4d1ba532d4da16af222824951aeabba9d6\"\u003e\u003ccode\u003e0b975d4\u003c/code\u003e\u003c/a\u003e chore: bump the other-deps group across 3 directories with 2 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35407\"\u003e#35407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2d1492a8643ec260e998f64001784249f7da80cf\"\u003e\u003ccode\u003e2d1492a\u003c/code\u003e\u003c/a\u003e fix(core): improve error message for non-JSON-serializable tool schemas (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34376\"\u003e#34376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/d6e46bb4b0813bdfe1f6670380b45ead550636c6\"\u003e\u003ccode\u003ed6e46bb\u003c/code\u003e\u003c/a\u003e fix(core): improve typing/docs for on_chat_model_start to clarify required po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/875c3c573d90484a49493f09d57828cfca3f189a\"\u003e\u003ccode\u003e875c3c5\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.127.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/32725b3d9b869fbfd955ce5f21dd1ce405305b01\"\u003e\u003ccode\u003e32725b3\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.117.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2fa460d325d0500069232a2f27be0c40f95c9f28\"\u003e\u003ccode\u003e2fa460d\u003c/code\u003e\u003c/a\u003e fix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/6199525f505412df20a32f0a1550ac587cebf9f8\"\u003e\u003ccode\u003e6199525\u003c/code\u003e\u003c/a\u003e perf(core): defer specific \u003ccode\u003elangsmith\u003c/code\u003e imports to reduce import time (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35298\"\u003e#35298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/00538ff5fc1084864a54675bfb24b3dd30ef1261\"\u003e\u003ccode\u003e00538ff\u003c/code\u003e\u003c/a\u003e revert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-anthropic==1.3.3...langchain-anthropic==1.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-core` from 1.2.14 to 1.2.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-core==1.2.16\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.15\u003c/p\u003e\n\u003cp\u003erelease(core): 1.2.16 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35439\"\u003e#35439\u003c/a\u003e)\nfix(core): treat empty tool chunk ids as missing in merge (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35414\"\u003e#35414\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-core==1.2.15\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.14\u003c/p\u003e\n\u003cp\u003efix(core): improve error message for non-JSON-serializable tool schemas (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34376\"\u003e#34376\u003c/a\u003e)\nfix(core): improve typing/docs for on_chat_model_start to clarify required positional args (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35324\"\u003e#35324\u003c/a\u003e)\nperf(core): defer specific \u003ccode\u003elangsmith\u003c/code\u003e imports to reduce import time (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35298\"\u003e#35298\u003c/a\u003e)\nrevert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\nrelease(core): 1.2.15 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35367\"\u003e#35367\u003c/a\u003e)\nfix(anthropic): replace retired model IDs in tests and docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35365\"\u003e#35365\u003c/a\u003e)\nfeat(anthropic): add ChatAnthropicBedrock wrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35091\"\u003e#35091\u003c/a\u003e)\nstyle: fix some ruff noqa (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35321\"\u003e#35321\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/langchain-ai/langchain/commit/94a58825d352e15b2f5a132859b08827f7b208fb\"\u003e\u003ccode\u003e94a5882\u003c/code\u003e\u003c/a\u003e release(core): 1.2.16 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35439\"\u003e#35439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/78678534f970a5a01dddfc979594367c58d04b44\"\u003e\u003ccode\u003e7867853\u003c/code\u003e\u003c/a\u003e fix(core): treat empty tool chunk ids as missing in merge (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35414\"\u003e#35414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/4ffb584ddf09440184dda63d11187b0bdd2b63b2\"\u003e\u003ccode\u003e4ffb584\u003c/code\u003e\u003c/a\u003e release(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/cdb9742511d57b8eb3d37f93d115ae9b4d60dba4\"\u003e\u003ccode\u003ecdb9742\u003c/code\u003e\u003c/a\u003e fix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0b975d4d1ba532d4da16af222824951aeabba9d6\"\u003e\u003ccode\u003e0b975d4\u003c/code\u003e\u003c/a\u003e chore: bump the other-deps group across 3 directories with 2 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35407\"\u003e#35407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2d1492a8643ec260e998f64001784249f7da80cf\"\u003e\u003ccode\u003e2d1492a\u003c/code\u003e\u003c/a\u003e fix(core): improve error message for non-JSON-serializable tool schemas (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34376\"\u003e#34376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/d6e46bb4b0813bdfe1f6670380b45ead550636c6\"\u003e\u003ccode\u003ed6e46bb\u003c/code\u003e\u003c/a\u003e fix(core): improve typing/docs for on_chat_model_start to clarify required po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/875c3c573d90484a49493f09d57828cfca3f189a\"\u003e\u003ccode\u003e875c3c5\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.127.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/32725b3d9b869fbfd955ce5f21dd1ce405305b01\"\u003e\u003ccode\u003e32725b3\u003c/code\u003e\u003c/a\u003e chore: bump google-cloud-aiplatform from 1.117.0 to 1.133.0 in /libs/langchai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2fa460d325d0500069232a2f27be0c40f95c9f28\"\u003e\u003ccode\u003e2fa460d\u003c/code\u003e\u003c/a\u003e fix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.14...langchain-core==1.2.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grpcio-status` from 1.71.2 to 1.78.0\n\nUpdates `prefect` from 3.6.18 to 3.6.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PrefectHQ/prefect/releases\"\u003eprefect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.19 - This release sucks in the best way possible\u003c/h2\u003e\n\u003cp\u003eThis release introduces an optional database vacuum service that periodically deletes old flow runs and orphaned resources (logs, artifacts, artifact collections) to keep your database lean. It's \u003cstrong\u003edisabled by default\u003c/strong\u003e — enable it with \u003ccode\u003ePREFECT_SERVER_SERVICES_DB_VACUUM_ENABLED=true\u003c/code\u003e. Once enabled, it runs hourly and removes terminal top-level flow runs older than 90 days. Both the retention period and frequency are configurable via \u003ccode\u003ePREFECT_SERVER_SERVICES_DB_VACUUM_RETENTION_PERIOD\u003c/code\u003e (in seconds, minimum 1 hour) and \u003ccode\u003ePREFECT_SERVER_SERVICES_DB_VACUUM_LOOP_SECONDS\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements ➕➕\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd DB vacuum service in Docket by \u003ca href=\"https://github.com/tom21100227\"\u003e\u003ccode\u003e@​tom21100227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20746\"\u003e#20746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Docker images for \u003ccode\u003eprefect-gcp\u003c/code\u003e and \u003ccode\u003eprefect-azure\u003c/code\u003e by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20771\"\u003e#20771\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes 🐞\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SSRF protection to \u003ccode\u003eCustomWebhookNotificationBlock\u003c/code\u003e by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20781\"\u003e#20781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix scheduler to check per-schedule run counts for multi-schedule deployments by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20699\"\u003e#20699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FastAPI 0.132.0 compatibility by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20822\"\u003e#20822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDevelopment \u0026amp; Tidiness 🧹\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UI v2 unit tests and E2E tests to Devin flaky test workflow by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20774\"\u003e#20774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate work-pool command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20766\"\u003e#20766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate transfer command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20767\"\u003e#20767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate cloud command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20780\"\u003e#20780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate deploy command to cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20783\"\u003e#20783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove bogus alias from cyclopts deployment command by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20793\"\u003e#20793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd deploy to cyclopts routing and remove dead delegation code by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20794\"\u003e#20794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate automation command to cyclopts and register init at root level by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20802\"\u003e#20802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit database and orchestration tests into separate jobs by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20803\"\u003e#20803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cyclopts phase 2 — server status, stdin handling, watch monkeypatch by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20807\"\u003e#20807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation 📓\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eImportString\u003c/code\u003e section to form-building guide by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20768\"\u003e#20768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix MDX rendering issues in prefect-databricks API reference docs by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20792\"\u003e#20792\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PrefectHQ/prefect/compare/3.6.18...3.6.19\"\u003ehttps://github.com/PrefectHQ/prefect/compare/3.6.18...3.6.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.6.19.dev3: Nightly Development Release\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eEnhancements ➕➕\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Docker image build and publish workflows for \u003ccode\u003eprefect-gcp\u003c/code\u003e and \u003ccode\u003eprefect-azure\u003c/code\u003e by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20771\"\u003ePrefectHQ/prefect#20771\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDevelopment \u0026amp; Tidiness 🧹\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update coolname requirement from \u0026lt;4.0.0,\u0026gt;=1.0.4 to \u0026gt;=1.0.4,\u0026lt;5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20797\"\u003ePrefectHQ/prefect#20797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): migrate automation command + register init at root level in cyclopts by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20802\"\u003ePrefectHQ/prefect#20802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: split database and orchestration tests into separate jobs by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20803\"\u003ePrefectHQ/prefect#20803\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUncategorized\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(cli): add deploy to cyclopts routing + remove dead delegation code by \u003ca href=\"https://github.com/zzstoatzz\"\u003e\u003ccode\u003e@​zzstoatzz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20794\"\u003ePrefectHQ/prefect#20794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(prefect-dbt): add DbtCloudExecutor for per-node cloud orchestration by \u003ca href=\"https://github.com/desertaxle\"\u003e\u003ccode\u003e@​desertaxle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20784\"\u003ePrefectHQ/prefect#20784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Optional DB Vaccum Service in Docket by \u003ca href=\"https://github.com/tom21100227\"\u003e\u003ccode\u003e@​tom21100227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20746\"\u003ePrefectHQ/prefect#20746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: cyclopts phase 2 cleanup — server status, stdin handling, watch monkeypatch by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20807\"\u003ePrefectHQ/prefect#20807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(10-03): state color consistency and regression prevention by \u003ca href=\"https://github.com/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/pull/20809\"\u003ePrefectHQ/prefect#20809\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/PrefectHQ/prefect/commit/1c3149c73c91b61e068b3fb1d1a61cb6fa45a6d3\"\u003e\u003ccode\u003e1c3149c\u003c/code\u003e\u003c/a\u003e Add release notes for 3.6.19 (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20823\"\u003e#20823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/96254d2809d420c3fc0930075c7181447d0df660\"\u003e\u003ccode\u003e96254d2\u003c/code\u003e\u003c/a\u003e fix(11-02): targeted responsive grid fixes for filter bars (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20815\"\u003e#20815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/278a2419782e025a3685f843cbd55f8e835bcf9c\"\u003e\u003ccode\u003e278a241\u003c/code\u003e\u003c/a\u003e fix: FastAPI 0.132.0 compatibility (content-type and ORJSONResponse) (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20822\"\u003e#20822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/122216da17d61d61f46e13899bd4e5722e47d05d\"\u003e\u003ccode\u003e122216d\u003c/code\u003e\u003c/a\u003e feat(11-04): well layout standardization — LayoutWellSidebar for deployment a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/d80f003056f65b9ded02bd43d0900830f8ec4cd0\"\u003e\u003ccode\u003ed80f003\u003c/code\u003e\u003c/a\u003e feat(11-03): spacing, header structure, and horizontal padding standardizatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/1c7409f9fce97d1ead584701326753deab03e2cb\"\u003e\u003ccode\u003e1c7409f\u003c/code\u003e\u003c/a\u003e feat(11-01): foundation bug fixes — DataTable overflow, LayoutWell min-h, Sid...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/33c6c4c811cd5bc30112615678fb2a7bce4359ba\"\u003e\u003ccode\u003e33c6c4c\u003c/code\u003e\u003c/a\u003e feat(10-03): state color consistency and regression prevention (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20809\"\u003e#20809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/56d71e423b3891d7b496ab37d1e207b71aa34686\"\u003e\u003ccode\u003e56d71e4\u003c/code\u003e\u003c/a\u003e fix: cyclopts phase 2 cleanup — server status, stdin handling, watch monkeypa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/853c40b5ccc31c38207e1a0ff35fd0ea52e07a16\"\u003e\u003ccode\u003e853c40b\u003c/code\u003e\u003c/a\u003e feat(10-02): replace hardcoded colors with semantic tokens (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20808\"\u003e#20808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PrefectHQ/prefect/commit/53b2a87b381991f30bb24475bc184921cdea9aea\"\u003e\u003ccode\u003e53b2a87\u003c/code\u003e\u003c/a\u003e feat(10-01): CSS token foundation for dark mode (\u003ca href=\"https://redirect.github.com/PrefectHQ/prefect/issues/20805\"\u003e#20805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PrefectHQ/prefect/compare/3.6.18...3.6.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.17.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\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/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.4 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 40.4.0 to 40.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joke2k/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v40.5.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/joke2k/faker/blob/refs/tags/v40.5.1/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease v40.5.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/joke2k/faker/blob/refs/tags/v40.5.0/CHANGELOG.md\"\u003eCHANGELOG.md\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/joke2k/faker/blob/master/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/joke2k/faker/compare/v40.5.0...v40.5.1\"\u003ev40.5.1 - 2026-02-23\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e_get_local_timezone()\u003c/code\u003e missing \u003ccode\u003ereturn\u003c/code\u003e statement. Thanks \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/joke2k/faker/compare/v40.4.0...v40.5.0\"\u003ev40.5.0 - 2026-02-23\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing formats and remove duplicates in \u003ccode\u003euser_name_formats\u003c/code\u003e. Thanks \u003ca href=\"https://github.com/WannaFight\"\u003e\u003ccode\u003e@​WannaFight\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/joke2k/faker/commit/5f403be2638b23266e4fc1ed93bbec1b17da3ee3\"\u003e\u003ccode\u003e5f403be\u003c/code\u003e\u003c/a\u003e Bump version: 40.5.0 → 40.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/faker/commit/a573f1fb73bf84b675c3f3dfa2536c16fba043ce\"\u003e\u003ccode\u003ea573f1f\u003c/code\u003e\u003c/a\u003e :pencil: Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/faker/commit/143c483de34d1d74f4d32699f897db03427b5308\"\u003e\u003ccode\u003e143c483\u003c/code\u003e\u003c/a\u003e Bump version: 40.4.0 → 40.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/faker/commit/298613bb9e...\n\n_Description has been truncated_","html_url":"https://github.com/Arisofia/abaco-loans-analytics/pull/287","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arisofia%2Fabaco-loans-analytics/issues/287","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/287/packages"}},{"old_version":"4.1.0","new_version":"4.1.1","update_type":"patch","path":null,"pr_created_at":"2026-02-23T08:22:05.000Z","version_change":"4.1.0 → 4.1.1","issue":{"uuid":"3976920933","node_id":"PR_kwDOQxJ4SM7FlTUx","number":240,"state":"open","title":"Bump astroid from 4.1.0 to 4.1.1","user":"dependabot[bot]","labels":["dependencies"],"assignees":["MohsenHNSJ"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T08:22:05.000Z","updated_at":"2026-02-23T08:25:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.1.0 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: TBA\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\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/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.1.0...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.1.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/MohsenHNSJ/HamyarPaygahPy/pull/240","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohsenHNSJ%2FHamyarPaygahPy/issues/240","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/240/packages"}},{"old_version":"4.0.3","new_version":"4.1.1","update_type":"minor","path":null,"pr_created_at":"2026-02-23T06:07:42.000Z","version_change":"4.0.3 → 4.1.1","issue":{"uuid":"3976511987","node_id":"PR_kwDOBQ_hJs7Fj98P","number":6585,"state":"open","title":"Bump astroid from 4.0.3 to 4.1.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T06:07:42.000Z","updated_at":"2026-02-23T09:11:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.1.1","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 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/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: TBA\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLet \u003ccode\u003eUnboundMethodModel\u003c/code\u003e inherit from \u003ccode\u003eFunctionModel\u003c/code\u003e to improve inference of\ndunder methods for unbound methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFilter \u003ccode\u003eUnknown\u003c/code\u003e from \u003ccode\u003eUnboundMethod\u003c/code\u003e and \u003ccode\u003eSuper\u003c/code\u003e special attribute\nlookup to prevent placeholder nodes from leaking during inference.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\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/pylint-dev/astroid/commit/f11d7ae40c6929bed001b807321ff46051cb2064\"\u003e\u003ccode\u003ef11d7ae\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.1, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3ea62baa6208289950f60adff8ff9cfe04b73f3d\"\u003e\u003ccode\u003e3ea62ba\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] Prevent Unknown from leaking via special attribu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/e064505906bcecc62bb75c32bb5dd10ad2ca7788\"\u003e\u003ccode\u003ee064505\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e__doc__\u003c/code\u003e on unbound method (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a57e81777f9b8f4f55551241def7c1eb54f44a08\"\u003e\u003ccode\u003ea57e817\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.1.x] [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2959\"\u003e#2959\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/home-assistant/supervisor/pull/6585","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2Fsupervisor/issues/6585","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6585/packages"}},{"old_version":"4.0.3","new_version":"4.1.0","update_type":"minor","path":"/backend","pr_created_at":"2026-02-23T00:29:35.000Z","version_change":"4.0.3 → 4.1.0","issue":{"uuid":"3975782510","node_id":"PR_kwDOLBeFW87Fhnmo","number":376,"state":"closed","title":"Build(deps): Bump astroid from 4.0.3 to 4.1.0 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-25T00:23:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-23T00:29:35.000Z","updated_at":"2026-02-25T00:23:57.000Z","time_to_close":172460,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.1.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/Ewa-Anna/Django-Task-Tracker/pull/376","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ewa-Anna%2FDjango-Task-Tracker/issues/376","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/376/packages"}},{"old_version":"4.0.2","new_version":"4.1.0","update_type":"minor","path":null,"pr_created_at":"2026-02-21T04:25:52.000Z","version_change":"4.0.2 → 4.1.0","issue":{"uuid":"3971286314","node_id":"PR_kwDOP8Yvy87FTf4w","number":27,"state":"closed","title":"chore(deps): bump the production-dependencies group across 1 directory with 46 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-28T04:22:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-21T04:25:52.000Z","updated_at":"2026-02-28T04:22:44.000Z","time_to_close":604611,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":46,"packages":[{"name":"fastapi","old_version":"0.128.0","new_version":"0.129.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.24.0.post1","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"gitpython","old_version":"3.1.45","new_version":"3.1.46","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"pyrefly","old_version":"0.46.3","new_version":"0.53.0","repository_url":"https://github.com/facebook/pyrefly"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-asyncio","old_version":"0.21.2","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"black","old_version":"25.12.0","new_version":"26.1.0","repository_url":"https://github.com/psf/black"},{"name":"flake8","old_version":"6.1.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"pylint","old_version":"4.0.4","new_version":"4.0.5","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"ruff","old_version":"0.14.10","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"hypothesis","old_version":"6.148.8","new_version":"6.151.9","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"astroid","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"authlib","old_version":"1.6.6","new_version":"1.6.8","repository_url":"https://github.com/authlib/authlib"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"click","old_version":"8.1.8","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"coverage","old_version":"7.13.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cryptography","old_version":"46.0.3","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"dill","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/uqfoundation/dill"},{"name":"filelock","old_version":"3.20.1","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"isort","old_version":"7.0.0","new_version":"8.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pathspec","old_version":"0.12.1","new_version":"1.0.4","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pycodestyle","old_version":"2.11.1","new_version":"2.14.0","repository_url":"https://github.com/PyCQA/pycodestyle"},{"name":"pyflakes","old_version":"3.1.0","new_version":"3.4.0","repository_url":"https://github.com/PyCQA/pyflakes"},{"name":"pytokens","old_version":"0.3.0","new_version":"0.4.1","repository_url":"https://github.com/tusharsadhwani/pytokens"},{"name":"regex","old_version":"2025.11.3","new_version":"2026.2.19","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"ruamel-yaml","old_version":"0.18.17","new_version":"0.19.1"},{"name":"safety-schemas","old_version":"0.0.16","new_version":"0.0.18","repository_url":"https://github.com/pyupio/safety_schemas"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"stevedore","old_version":"5.6.0","new_version":"5.7.0"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"tomlkit","old_version":"0.13.3","new_version":"0.14.0","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"typer","old_version":"0.21.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"urllib3","old_version":"2.6.2","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"websockets","old_version":"15.0.1","new_version":"16.0","repository_url":"https://github.com/python-websockets/websockets"},{"name":"dataclasses-json","old_version":"0.5.7","new_version":"0.6.7","repository_url":"https://github.com/lidatong/dataclasses-json"},{"name":"psutil","old_version":"7.2.1","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"typeguard","old_version":"2.13.3","new_version":"4.5.1","repository_url":"https://github.com/agronholm/typeguard"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 46 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.128.0` | `0.129.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.24.0.post1` | `0.41.0` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.45` | `3.1.46` |\n| [pyrefly](https://github.com/facebook/pyrefly) | `0.46.3` | `0.53.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `7.0.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.21.2` | `1.3.0` |\n| [black](https://github.com/psf/black) | `25.12.0` | `26.1.0` |\n| [flake8](https://github.com/pycqa/flake8) | `6.1.0` | `7.3.0` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.4` | `4.0.5` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.15.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.148.8` | `6.151.9` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.2` | `4.1.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.6` | `1.6.8` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [click](https://github.com/pallets/click) | `8.1.8` | `8.3.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.0` | `7.13.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.5` |\n| [dill](https://github.com/uqfoundation/dill) | `0.4.0` | `0.4.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.1` | `3.24.3` |\n| [isort](https://github.com/PyCQA/isort) | `7.0.0` | `8.0.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `0.12.1` | `1.0.4` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.11.1` | `2.14.0` |\n| [pyflakes](https://github.com/PyCQA/pyflakes) | `3.1.0` | `3.4.0` |\n| [pytokens](https://github.com/tusharsadhwani/pytokens) | `0.3.0` | `0.4.1` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2025.11.3` | `2026.2.19` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| ruamel-yaml | `0.18.17` | `0.19.1` |\n| [safety-schemas](https://github.com/pyupio/safety_schemas) | `0.0.16` | `0.0.18` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [stevedore](https://docs.openstack.org/stevedore) | `5.6.0` | `5.7.0` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.3` | `0.14.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [typer](https://github.com/fastapi/typer) | `0.21.0` | `0.24.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.2` | `2.6.3` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0.1` | `16.0` |\n| [dataclasses-json](https://github.com/lidatong/dataclasses-json) | `0.5.7` | `0.6.7` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.2.1` | `7.2.2` |\n| [typeguard](https://github.com/agronholm/typeguard) | `2.13.3` | `4.5.1` |\n\n\nUpdates `fastapi` from 0.128.0 to 0.129.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.129.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14897\"\u003e#14897\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\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Update internal types for Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14898\"\u003e#14898\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📝 Update highlights in webhooks docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14905\"\u003e#14905\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 source examples and docs from Python 3.9 to 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14900\"\u003e#14900\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🔨 Update docs.py scripts to migrate Python 3.9 to Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14906\"\u003e#14906\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.128.8\u003c/h2\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Fix grammar in \u003ccode\u003edocs/en/docs/tutorial/first-steps.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14708\"\u003e#14708\u003c/a\u003e by \u003ca href=\"https://github.com/SanjanaS10\"\u003e\u003ccode\u003e@​SanjanaS10\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Tweak PDM hook script. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14895\"\u003e#14895\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 build setup for \u003ccode\u003efastapi-slim\u003c/code\u003e, deprecate it, and make it only depend on \u003ccode\u003efastapi\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14894\"\u003e#14894\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.128.7\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Show a clear error on attempt to include router into itself. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14258\"\u003e#14258\u003c/a\u003e by \u003ca href=\"https://github.com/JavierSanchezCastro\"\u003e\u003ccode\u003e@​JavierSanchezCastro\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✨ Replace \u003ccode\u003edict\u003c/code\u003e by \u003ccode\u003eMapping\u003c/code\u003e on \u003ccode\u003eHTTPException.headers\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/12997\"\u003e#12997\u003c/a\u003e by \u003ca href=\"https://github.com/rijenkii\"\u003e\u003ccode\u003e@​rijenkii\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Simplify reading files in memory, do it sequentially instead of (fake) parallel. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14884\"\u003e#14884\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📝 Use \u003ccode\u003edfn\u003c/code\u003e tag for definitions instead of \u003ccode\u003eabbr\u003c/code\u003e in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14744\"\u003e#14744\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✅ Tweak comment in test to reference PR. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14885\"\u003e#14885\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 LLM-prompt for \u003ccode\u003eabbr\u003c/code\u003e and \u003ccode\u003edfn\u003c/code\u003e tags. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14747\"\u003e#14747\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✅ Test order for the submitted byte Files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14828\"\u003e#14828\u003c/a\u003e by \u003ca href=\"https://github.com/valentinDruzhinin\"\u003e\u003ccode\u003e@​valentinDruzhinin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Configure \u003ccode\u003etest\u003c/code\u003e workflow to run tests with \u003ccode\u003einline-snapshot=review\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14876\"\u003e#14876\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.128.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a2e51363c721ee6fccb148bff95ca328b4efdfed\"\u003e\u003ccode\u003ea2e5136\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.129.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b7ce02ae86ee466380d2db09be008cfe83a1ca35\"\u003e\u003ccode\u003eb7ce02a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/31d9750aceaff347bd55be37880b7f36bc26c1b1\"\u003e\u003ccode\u003e31d9750\u003c/code\u003e\u003c/a\u003e 🔨 Update docs.py scripts to migrate Python 3.9 to Python 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14906\"\u003e#14906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/109cc8aff126b60971ec27d68d32b8713f0ec72a\"\u003e\u003ccode\u003e109cc8a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c82a3d8a13af58e092ba95ffb4b8a64b9ca82726\"\u003e\u003ccode\u003ec82a3d8\u003c/code\u003e\u003c/a\u003e 📝 Update highlights in webhooks docs (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14905\"\u003e#14905\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/0e460654af7101866b7d0f22735ef6337fe13d0c\"\u003e\u003ccode\u003e0e46065\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c9e2277d8b3b0feead4bdad97fca7cf05c9263fd\"\u003e\u003ccode\u003ec9e2277\u003c/code\u003e\u003c/a\u003e 📝 Update source examples and docs from Python 3.9 to 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14900\"\u003e#14900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d06ab3f5c7c1b6229e28af37905eb51ab4b4cdb7\"\u003e\u003ccode\u003ed06ab3f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3da206c06df1283518a54b18f27bed33f2d22612\"\u003e\u003ccode\u003e3da206c\u003c/code\u003e\u003c/a\u003e 🎨 Update internal types for Python 3.10 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14898\"\u003e#14898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cc903bd440a4a443510c7b10ef7e9a1f88f44e0e\"\u003e\u003ccode\u003ecc903bd\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.128.0...0.129.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.24.0.post1 to 0.41.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.41.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/t-kawasumi\"\u003e\u003ccode\u003e@​t-kawasumi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2776\"\u003eKludex/uvicorn#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fardyn\"\u003e\u003ccode\u003e@​fardyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2800\"\u003eKludex/uvicorn#2800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewie\"\u003e\u003ccode\u003e@​ewie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2807\"\u003eKludex/uvicorn#2807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shevron\"\u003e\u003ccode\u003e@​shevron\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2788\"\u003eKludex/uvicorn#2788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonashaag\"\u003e\u003ccode\u003e@​jonashaag\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2707\"\u003eKludex/uvicorn#2707\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2772\"\u003eKludex/uvicorn#2772\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\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/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.41.0 (February 16, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\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/Kludex/uvicorn/commit/9283c0f15cfa82307f57daba4d1b1880902adfb2\"\u003e\u003ccode\u003e9283c0f\u003c/code\u003e\u003c/a\u003e Version 0.41.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a01a33eb8f3ac044cab5964421b9aa308a2bcfca\"\u003e\u003ccode\u003ea01a33e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/2ce65bde1509faa958775df8153bdeb5dbaf6f58\"\u003e\u003ccode\u003e2ce65bd\u003c/code\u003e\u003c/a\u003e Ignore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/654f2ed7d7c1a014116d8662e6544f5309375137\"\u003e\u003ccode\u003e654f2ed\u003c/code\u003e\u003c/a\u003e Ensure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a03d9f6f0e99383c76934a82def5a83aeb6b0a47\"\u003e\u003ccode\u003ea03d9f6\u003c/code\u003e\u003c/a\u003e Reduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/e377de40d0a2a1b1d9f55483ee4c1cceb2474502\"\u003e\u003ccode\u003ee377de4\u003c/code\u003e\u003c/a\u003e Add socket path to scope[\u0026quot;server\u0026quot;] (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0779f7f8a4df1cc98433eb30d69027499a0cb7f8\"\u003e\u003ccode\u003e0779f7f\u003c/code\u003e\u003c/a\u003e Poll for readiness in \u003ccode\u003etest_multiprocess_health_check\u003c/code\u003e and \u003ccode\u003erun_server\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2816\"\u003e#2816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7e9ce2c974f1d78d192e81caa7890e2bbae8e711\"\u003e\u003ccode\u003e7e9ce2c\u003c/code\u003e\u003c/a\u003e Poll for PID changes in \u003ccode\u003etest_multiprocess_sighup\u003c/code\u003e instead of fixed sleep (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/99f0d8734d441bf4a1467093766c779a5a1c9868\"\u003e\u003ccode\u003e99f0d87\u003c/code\u003e\u003c/a\u003e Fix grep warning in scripts/sync-version (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2807\"\u003e#2807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ae2e6375a90b2e6a3370aa252f5ac2dc06ab892\"\u003e\u003ccode\u003e7ae2e63\u003c/code\u003e\u003c/a\u003e chore(deps): bump the python-packages group with 18 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2801\"\u003e#2801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.24.0.post1...0.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gitpython` from 3.1.45 to 3.1.46\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gitpython-developers/GitPython/releases\"\u003egitpython's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.46\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare a new release by \u003ca href=\"https://github.com/Byron\"\u003e\u003ccode\u003e@​Byron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2063\"\u003egitpython-developers/GitPython#2063\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2067\"\u003egitpython-developers/GitPython#2067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003e335c0f6\u003c/code\u003e to \u003ccode\u003e39d7dbf\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2068\"\u003egitpython-developers/GitPython#2068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2070\"\u003egitpython-developers/GitPython#2070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003e39d7dbf\u003c/code\u003e to \u003ccode\u003ef8fdfec\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2071\"\u003egitpython-developers/GitPython#2071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003eSymbolicReference.reference\u003c/code\u003e property by \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2074\"\u003egitpython-developers/GitPython#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add support for hasconfig git rule. by \u003ca href=\"https://github.com/bvanelli\"\u003e\u003ccode\u003e@​bvanelli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2075\"\u003egitpython-developers/GitPython#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2076\"\u003egitpython-developers/GitPython#2076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse actual return type in annotation for method submodule_update by \u003ca href=\"https://github.com/extrwi\"\u003e\u003ccode\u003e@​extrwi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2078\"\u003egitpython-developers/GitPython#2078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003ef8fdfec\u003c/code\u003e to \u003ccode\u003e65321a2\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2082\"\u003egitpython-developers/GitPython#2082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreliminary support for index format v3 by \u003ca href=\"https://github.com/blahgeek\"\u003e\u003ccode\u003e@​blahgeek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2081\"\u003egitpython-developers/GitPython#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2084\"\u003egitpython-developers/GitPython#2084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003emypy==1.18.2\u003c/code\u003e by \u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2087\"\u003egitpython-developers/GitPython#2087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003eos.Pathlike\u003c/code\u003e by \u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2086\"\u003egitpython-developers/GitPython#2086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump git/ext/gitdb from \u003ccode\u003e65321a2\u003c/code\u003e to \u003ccode\u003e4c63ee6\u003c/code\u003e 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/gitpython-developers/GitPython/pull/2093\"\u003egitpython-developers/GitPython#2093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJoin \u003ccode\u003ePathlike\u003c/code\u003e Object to Tree by \u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2094\"\u003egitpython-developers/GitPython#2094\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/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2074\"\u003egitpython-developers/GitPython#2074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bvanelli\"\u003e\u003ccode\u003e@​bvanelli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2075\"\u003egitpython-developers/GitPython#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/extrwi\"\u003e\u003ccode\u003e@​extrwi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2078\"\u003egitpython-developers/GitPython#2078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/blahgeek\"\u003e\u003ccode\u003e@​blahgeek\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2081\"\u003egitpython-developers/GitPython#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2087\"\u003egitpython-developers/GitPython#2087\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/gitpython-developers/GitPython/compare/3.1.45...3.1.46\"\u003ehttps://github.com/gitpython-developers/GitPython/compare/3.1.45...3.1.46\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/gitpython-developers/GitPython/commit/9e24eb6b72c1851e46e09133b83b48f2059037d7\"\u003e\u003ccode\u003e9e24eb6\u003c/code\u003e\u003c/a\u003e Prepare next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/b8bb60e544a1f389120b5540c6e1e7505427c279\"\u003e\u003ccode\u003eb8bb60e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2094\"\u003e#2094\u003c/a\u003e from George-Ogden/join-pathlike\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/c8b58c09904dabe67222165e4d3eecf4c8f07490\"\u003e\u003ccode\u003ec8b58c0\u003c/code\u003e\u003c/a\u003e Update test/test_tree.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/88e26141c738f6ac3beb1a433039611f88c2c30d\"\u003e\u003ccode\u003e88e2614\u003c/code\u003e\u003c/a\u003e Allow joining path to tree\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/9fa28ae108dc39cfb13282cd18d4251d0118dd52\"\u003e\u003ccode\u003e9fa28ae\u003c/code\u003e\u003c/a\u003e Add failing tests for joining paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/6d66a02d14929976d9d8409773054e2e022eae0e\"\u003e\u003ccode\u003e6d66a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2093\"\u003e#2093\u003c/a\u003e from gitpython-developers/dependabot/submodules/git/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/f738029ab05fe8356022248e68f9119c46b2f1e5\"\u003e\u003ccode\u003ef738029\u003c/code\u003e\u003c/a\u003e Bump git/ext/gitdb from \u003ccode\u003e65321a2\u003c/code\u003e to \u003ccode\u003e4c63ee6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/eecc28d2e78d799105a2070acdb530ee5c81a9e8\"\u003e\u003ccode\u003eeecc28d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2086\"\u003e#2086\u003c/a\u003e from George-Ogden/true-pathlike\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/0cb55fb4adca4f2b26767e85ef8652ef13b834a1\"\u003e\u003ccode\u003e0cb55fb\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add tests with non-ascii characters\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/171062655e24b6a6ca1a3beab3c7679278350ab5\"\u003e\u003ccode\u003e1710626\u003c/code\u003e\u003c/a\u003e Add tests with non-ascii characters\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gitpython-developers/GitPython/compare/3.1.45...3.1.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyrefly` from 0.46.3 to 0.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/pyrefly/releases\"\u003epyrefly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyrefly v0.53.0\u003c/h2\u003e\n\u003ch1\u003ePyrefly 0.53.0\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eStatus : BETA\u003c/strong\u003e\u003cbr /\u003e\n\u003cem\u003eRelease date: 17 February 2026\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003epyrefly 0.53.0 bundles \u003cstrong\u003e245 commits\u003c/strong\u003e from \u003cstrong\u003e27 contributors\u003c/strong\u003e.\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e✨ New \u0026amp; Improved\u003c/h1\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eArea\u003c/th\u003e\n\u003cth align=\"left\"\u003eWhat’s new\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eType Checking\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Recursive type aliases now supported, so you can define type aliases that reference themselves, and Pyrefly will correctly resolve and type-check them \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Error is now raised when \u003ccode\u003eSelf\u003c/code\u003e is used in certain invalid locations (outside a class, in a static method within a class, in a metaclass) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Pyrefly now supports the idiom class \u003ccode\u003eFoo(namedtuple(\u0026quot;Bar\u0026quot;, ...))\u003c/code\u003e, matching CPython and Mypy behavior \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Pyrefly will now warn you if a protocol’s type variable is used in a way that doesn’t match its declared variance\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eLanguage Server\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Completion suggestions are now ranked based on most recently used (MRU) items  \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Auto-import completions and unknown-name quick fixes now honor common aliases (e.g. \u003ccode\u003eimport numpy as np\u003c/code\u003e) \u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e- Improved error messages for signature mismatches, including ASCII-style diffs and normalized function names for clarity\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003eConfig\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- JSON schemas added for \u003ccode\u003epyrefly.toml\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e to enable editor features like auto-completion and validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003cstrong\u003ePerformance\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"left\"\u003e- Pyrefly uses ~26% less CPU when tested typechecking the whole Pytorch codebase on M1 Pro MacBook with 10 cores\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003chr /\u003e\n\u003ch1\u003e🐛 bug fixes\u003c/h1\u003e\n\u003cp\u003eWe closed 17 bug issues this release 👏\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/949\"\u003e#949\u003c/a\u003e - Lambdas with \u003ccode\u003eyield\u003c/code\u003e or \u003ccode\u003eyield from\u003c/code\u003e are now correctly inferred as generator-returning callables.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2407\"\u003e#2407\u003c/a\u003e - \u003ccode\u003eLiteral\u003c/code\u003e imported via \u003ccode\u003etry/except\u003c/code\u003e is now recognized as a special form, preventing spurious unknown-name errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2375\"\u003e#2375\u003c/a\u003e - Methods overriding base class methods no longer trigger false positive errors for missing \u003ccode\u003e@override\u003c/code\u003e decorators.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2327\"\u003e#2327\u003c/a\u003e - The first parameter of class methods is now correctly handled regardless of its name.\u003c/li\u003e\n\u003cli\u003eAnd more - \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1754\"\u003e#1754\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1383\"\u003e#1383\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1790\"\u003e#1790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2350\"\u003e#2350\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2369\"\u003e#2369\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2371\"\u003e#2371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2335\"\u003e#2335\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/259\"\u003e#259\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/254\"\u003e#254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/1778\"\u003e#1778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2116\"\u003e#2116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/pyrefly/issues/2302\"\u003e#2302\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank-you to all our contributors who found these bugs and reported them! Did you know this is one of the most helpful contributions you can make to an open-source project? If you find any bugs in Pyrefly we want to know about them! Please open a bug report issue \u003ca href=\"https://github.com/facebook/pyrefly/issues\"\u003ehere\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003ch1\u003e📦 Upgrade\u003c/h1\u003e\n\u003cpre\u003e\u003ccode\u003epip install --upgrade pyrefly==0.53.0\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eHow to safely upgrade your codebase\u003c/h2\u003e\n\u003cp\u003eUpgrading the version of Pyrefly you're using or a third-party library you depend on can reveal new type errors in your code. Fixing them all at once is often unrealistic. We've written scripts to help you temporarily silence them. After upgrading, follow these steps:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --suppress-errors\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003erun your code formatter of choice\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epyrefly check --remove-unused-ignores\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRepeat until you achieve a clean formatting run and a clean type check.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/fda879a66c9e0f12e1c6e30fc5653512531a1df0\"\u003e\u003ccode\u003efda879a\u003c/code\u003e\u003c/a\u003e Update pyrefly version]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/817a22e123eb5e0cd81e9c9956ebb4ac15dccace\"\u003e\u003ccode\u003e817a22e\u003c/code\u003e\u003c/a\u003e Mark 3 more nondeterministic projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/4270fb17e7ab8f8d70b71cf22c5f69f65fc5d60f\"\u003e\u003ccode\u003e4270fb1\u003c/code\u003e\u003c/a\u003e Add missing global variable edges in call graph when using global statement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/c8e7e6c1e19bb0039fb532fa6cc3cd2a57fbd1e0\"\u003e\u003ccode\u003ec8e7e6c\u003c/code\u003e\u003c/a\u003e Add further jsonschema testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/9ebf413cd23212f7bb7056c284379d34749c8442\"\u003e\u003ccode\u003e9ebf413\u003c/code\u003e\u003c/a\u003e Add jsonschema tests to test runner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/e0cf658d289d439affb29e3b386f05ad1346ac49\"\u003e\u003ccode\u003ee0cf658\u003c/code\u003e\u003c/a\u003e Turn tests into Python unittests (and buckify)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/093106e3f2b7a9546e95ec65b608c3184e4797bb\"\u003e\u003ccode\u003e093106e\u003c/code\u003e\u003c/a\u003e Expose ArgsExpander to the solver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/ea7aef8ecbf1cb71b00ef1c311b3c33c3ac7eae7\"\u003e\u003ccode\u003eea7aef8\u003c/code\u003e\u003c/a\u003e Make ArgsExpander hold an AnswersSolver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/8c2e34538f294551c50e83a44104457508293f08\"\u003e\u003ccode\u003e8c2e345\u003c/code\u003e\u003c/a\u003e Refactor quickfix logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/pyrefly/commit/e4babe94f2394b278893ab82319a225379764d8e\"\u003e\u003ccode\u003ee4babe9\u003c/code\u003e\u003c/a\u003e Update Pyrefly schema validator to include negative tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/facebook/pyrefly/compare/0.46.3...0.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 4.1.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.1 (2025-06-12)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved deprecated license classifier (packaging).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisabled coverage warnings in two more situations where they have no value:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026quot;module-not-measured\u0026quot; in workers\u003c/li\u003e\n\u003cli\u003e\u0026quot;already-imported\u0026quot; in subprocesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.2.0 (2025-06-11)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::\u003c/p\u003e\n\u003cp\u003edefault:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\nonce::PytestCovWarning\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v4.1.0...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.21.2 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.21.2...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.12.0 to 26.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\r\n!exclude/not_this/\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\r\n!*/exclude/not_this/\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\nmatching subdirectories (like the previous behavior did), and not just matching root\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\n!exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\n!*/exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\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/psf/black/commit/6305bf1ae645ab7541be4f5028a86239316178eb\"\u003e\u003ccode\u003e6305bf1\u003c/code\u003e\u003c/a\u003e Prepare 2026.1.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e71305bee302f7f9016b228361e5ae69669dca7b\"\u003e\u003ccode\u003ee71305b\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 3.3.0 to 3.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4961\"\u003e#4961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/21a2a8c2b1d0c8d47bc00cc59591470f6a9e2307\"\u003e\u003ccode\u003e21a2a8c\u003c/code\u003e\u003c/a\u003e Fix Shutdown multiprocessing Manager in schedule_formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4952\"\u003e#4952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e3146cea4245fcee29d007cb45d9faaf63271586\"\u003e\u003ccode\u003ee3146ce\u003c/code\u003e\u003c/a\u003e Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/fe1fbc4fdfa03fa1d460f975b8aca77e4b4f1a4a\"\u003e\u003ccode\u003efe1fbc4\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2b4b7fcfe00bb0d99322e07e87fc2f0992f7a4d8\"\u003e\u003ccode\u003e2b4b7fc\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4922\"\u003e#4922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/d745be69bfa9d85ec2ef6e5f9b7ec7e253b5e8ab\"\u003e\u003ccode\u003ed745be6\u003c/code\u003e\u003c/a\u003e docs: document --force-exclude for pre-commit workflows (\u003ca href=\"https://redirect.github.com/psf/black/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b41acd6ebbe76e18b49286166924f73f01c3fd02\"\u003e\u003ccode\u003eb41acd6\u003c/code\u003e\u003c/a\u003e Various CI and doc refactors (\u003ca href=\"https://redirect.github.com/psf/black/issues/4928\"\u003e#4928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6f43612766da4a2f275b575af0802c3e73b6ed83\"\u003e\u003ccode\u003e6f43612\u003c/code\u003e\u003c/a\u003e Handle pathspec v1 changes (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/200c550aff44372f801a6d826a361cb26f45a504\"\u003e\u003ccode\u003e200c550\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in /docs (\u003ca href=\"https://redirect.github.com/psf/black/issues/4933\"\u003e#4933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.12.0...26.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8` from 6.1.0 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/6.1.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httpx` from 0.25.2 to 0.28.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/httpx/releases\"\u003ehttpx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.28.1\u003c/h2\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.28.0\u003c/h2\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/HEAD/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.2\u003c/h2\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.27.1\u003c/h2\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\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/encode/httpx/blob/master/CHANGELOG.md\"\u003ehttpx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.28.1 (6th December, 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL case where \u003ccode\u003everify=False\u003c/code\u003e together with client side certificates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.28.0 (28th November, 2024)\u003c/h2\u003e\n\u003cp\u003eBe aware that the default \u003cem\u003eJSON request bodies now use a more compact representation\u003c/em\u003e. This is generally considered a prefered style, tho may require updates to test suites.\u003c/p\u003e\n\u003cp\u003eThe 0.28 release includes a limited set of deprecations...\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003eWe are working towards a simplified SSL configuration API.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFor users of the standard \u003ccode\u003everify=True\u003c/code\u003e or \u003ccode\u003everify=False\u003c/code\u003e cases, or \u003ccode\u003everify=\u0026lt;ssl_context\u0026gt;\u003c/code\u003e case this should require no changes. The following cases have been deprecated...\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003everify\u003c/code\u003e argument as a string argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecert\u003c/code\u003e argument is now deprecated and will raise warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOur revised \u003ca href=\"https://github.com/encode/httpx/blob/master/docs/advanced/ssl.md\"\u003eSSL documentation\u003c/a\u003e covers how to implement the same behaviour with a more constrained API.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe following changes are also included\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eproxies\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eThe deprecated \u003ccode\u003eapp\u003c/code\u003e argument has now been removed.\u003c/li\u003e\n\u003cli\u003eJSON request bodies use a compact representation. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReview URL percent escape sets, based on WHATWG spec. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/encode/httpx/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecertifi\u003c/code\u003e and \u003ccode\u003ehttpcore\u003c/code\u003e are only imported if required. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003esocks5h\u003c/code\u003e as a valid proxy scheme. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup \u003ccode\u003eRequest()\u003c/code\u003e method signature in line with \u003ccode\u003eclient.request()\u003c/code\u003e and \u003ccode\u003ehttpx.request()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: When passing \u003ccode\u003eparams={}\u003c/code\u003e, always strictly update rather than merge with an existing querystring. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.2 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReintroduced supposedly-private \u003ccode\u003eURLTypes\u003c/code\u003e shortcut. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/2673\"\u003e#2673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.1 (27th August, 2024)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003ezstd\u003c/code\u003e content decoding using the python \u003ccode\u003ezstandard\u003c/code\u003e package is added. Installable using \u003ccode\u003ehttpx[zstd]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved error messaging for \u003ccode\u003eInvalidURL\u003c/code\u003e exceptions. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3250\"\u003e#3250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eapp\u003c/code\u003e type signature in \u003ccode\u003eASGITransport\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3109\"\u003e#3109\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.27.0 (21st February, 2024)\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/encode/httpx/commit/26d48e0634e6ee9cdc0533996db289ce4b430177\"\u003e\u003ccode\u003e26d48e0\u003c/code\u003e\u003c/a\u003e Version 0.28.1 (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3445\"\u003e#3445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/89599a9541af14bcf906fc4ed58ccbdf403802ba\"\u003e\u003ccode\u003e89599a9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003everify=False\u003c/code\u003e, \u003ccode\u003ecert=...\u003c/code\u003e case. (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3442\"\u003e#3442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/httpx/commit/8ecb86f0d74ffc52d4663214fae9526bee89358d\"\u003e\u003ccode\u003e8ecb86f\u003c/code\u003e\u003c/a\u003e Add test for request params behavior changes (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3364\"\u003e#3364\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/encode/httpx/issues/3440\"\u003e#3440\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/bdarlt/mcp-repocache/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bdarlt%2Fmcp-repocache/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":"4.0.4","new_version":"4.1.0","update_type":"minor","path":null,"pr_created_at":"2026-02-20T15:18:47.000Z","version_change":"4.0.4 → 4.1.0","issue":{"uuid":"3969069957","node_id":"PR_kwDOBa6FQM7FMXbq","number":605,"state":"closed","title":"Bump astroid from 4.0.4 to 4.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-20T15:39:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T15:18:47.000Z","updated_at":"2026-02-20T15:39:44.000Z","time_to_close":1247,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.4","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.4 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/3d127ff812fd8cf20c44841dd13ba23d779fbc74\"\u003e\u003ccode\u003e3d127ff\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2947\"\u003e#2947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5279bf529ac5e71758cee58f4001e08d43c280f1\"\u003e\u003ccode\u003e5279bf5\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eJoinedStr\u003c/code\u003e nodes \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003eFormattedValue\u003c/code\u003e is ``Uni...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.4\u0026new-version=4.1.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/Julius2342/pyvlx/pull/605","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Julius2342%2Fpyvlx/issues/605","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/605/packages"}},{"old_version":"\u003c4.0.0,\u003e=3.0.0","new_version":"\u003e=3.0.0,\u003c5.0.0","update_type":null,"path":null,"pr_created_at":"2026-02-19T10:10:44.000Z","version_change":"\u003c4.0.0,\u003e=3.0.0 → \u003e=3.0.0,\u003c5.0.0","issue":{"uuid":"3962073970","node_id":"PR_kwDOQpSUM87E1UCA","number":107,"state":"open","title":"chore(pip): update astroid requirement from \u003c4.0.0,\u003e=3.0.0 to \u003e=3.0.0,\u003c5.0.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-19T10:10:44.000Z","updated_at":"2026-02-19T10:18:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(pip): update","packages":[{"name":"astroid","old_version":"\u003c4.0.0,\u003e=3.0.0","new_version":"\u003e=3.0.0,\u003c5.0.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [astroid](https://github.com/pylint-dev/astroid) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.0.0...v4.1.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/deedk822-lang/vaal-ai-empire-site/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/deedk822-lang%2Fvaal-ai-empire-site/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"}},{"old_version":"4.0.2","new_version":"4.1.0","update_type":"minor","path":null,"pr_created_at":"2026-02-16T01:55:08.000Z","version_change":"4.0.2 → 4.1.0","issue":{"uuid":"3945485958","node_id":"PR_kwDONnihfM7D-2WA","number":49,"state":"open","title":"Bump astroid from 4.0.2 to 4.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-16T01:55:08.000Z","updated_at":"2026-02-16T01:55:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.2 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.2...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.2\u0026new-version=4.1.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/incyi/NumberPlateGen/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/incyi%2FNumberPlateGen/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}},{"old_version":"4.0.2","new_version":"4.0.4","update_type":"patch","path":null,"pr_created_at":"2026-02-10T00:06:31.000Z","version_change":"4.0.2 → 4.0.4","issue":{"uuid":"3918755080","node_id":"PR_kwDOIatVnM7Cmx3W","number":879,"state":"open","title":":arrow_up: Bump astroid from 4.0.2 to 4.0.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-10T00:06:31.000Z","updated_at":"2026-04-19T22:05:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":":arrow_up: Bump","packages":[{"name":"astroid","old_version":"4.0.2","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.2 to 4.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.2...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/nvuillam/github-dependents-info/pull/879","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvuillam%2Fgithub-dependents-info/issues/879","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/879/packages"}},{"old_version":"4.0.3","new_version":"4.1.0","update_type":"minor","path":null,"pr_created_at":"2026-02-09T08:31:07.000Z","version_change":"4.0.3 → 4.1.0","issue":{"uuid":"3915123001","node_id":"PR_kwDOQxJ4SM7CaqDV","number":171,"state":"open","title":"Bump astroid from 4.0.3 to 4.1.0","user":"dependabot[bot]","labels":["dependencies","minor"],"assignees":["MohsenHNSJ"],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-09T08:31:07.000Z","updated_at":"2026-02-09T08:38:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.1.0","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.1.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for equality constraints (\u003ccode\u003e==\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e) in inference.\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3632\"\u003epylint-dev/pylint#3632\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/3633\"\u003epylint-dev/pylint#3633\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure \u003ccode\u003east.JoinedStr\u003c/code\u003e nodes are \u003ccode\u003eUninferable\u003c/code\u003e when the \u003ccode\u003east.FormattedValue\u003c/code\u003e is\n\u003ccode\u003eUninferable\u003c/code\u003e. This prevents \u003ccode\u003eunexpected-keyword-arg\u003c/code\u003e messages in Pylint\nwhere the \u003ccode\u003eUninferable\u003c/code\u003e string appeared in function arguments that were\nconstructed dynamically.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10822\"\u003epylint-dev/pylint#10822\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for type constraints (\u003ccode\u003eisinstance(x, y)\u003c/code\u003e) in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/1162\"\u003epylint-dev/pylint#1162\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/4635\"\u003epylint-dev/pylint#4635\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10469\"\u003epylint-dev/pylint#10469\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003etype.__new__()\u003c/code\u003e raise clear errors instead of returning \u003ccode\u003eNone\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMove object dunder methods from \u003ccode\u003eFunctionModel\u003c/code\u003e to \u003ccode\u003eObjectModel\u003c/code\u003e to make them\navailable on all object types, not just functions.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2742\"\u003e#2742\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2741\"\u003e#2741\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/6094\"\u003epylint-dev/pylint#6094\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003elineno\u003c/code\u003e and \u003ccode\u003eend_lineno\u003c/code\u003e are now available on \u003ccode\u003eArguments\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd helper to iterate over all annotations nodes of function arguments,\n\u003ccode\u003eArguments.get_annotations()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2860\"\u003e#2860\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip direct parent when determining the \u003ccode\u003eDecorator\u003c/code\u003e frame.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/8425\"\u003epylint-dev/pylint#8425\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd simple command line interface for astroid to output generated AST.\nUse with \u003ccode\u003epython -m astroid\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix incorrect type inference for \u003ccode\u003esuper().method()\u003c/code\u003e calls that return \u003ccode\u003eSelf\u003c/code\u003e.\nPreviously, astroid would infer the parent class type instead of the child class type,\ncausing pylint E1101 false positives in method chaining scenarios.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/457\"\u003e#457\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/pylint-dev/astroid/commit/5ffc8aacf0df93f2fa1bcc2d23752a49e8c7f6f7\"\u003e\u003ccode\u003e5ffc8aa\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.1.0, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/7a8a4c0fe859ba56a4d1d15a05be61036e9f7c06\"\u003e\u003ccode\u003e7a8a4c0\u003c/code\u003e\u003c/a\u003e Post 4.0.4 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b20dda8ee637bc7808b96fc677a3f363ed5372ca\"\u003e\u003ccode\u003eb20dda8\u003c/code\u003e\u003c/a\u003e Merge branch 'maintenance/4.0.x' into post-4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/55f76d808ebefdaf74aa24fdd6c5750731c7c171\"\u003e\u003ccode\u003e55f76d8\u003c/code\u003e\u003c/a\u003e Implement equality constraint (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/605474814d9a95ed2f66f0f2378b475dd0fc5172\"\u003e\u003ccode\u003e6054748\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d4a7e6391bd0ce2a34aa47179f07e40ef3ce4cca\"\u003e\u003ccode\u003ed4a7e63\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2950\"\u003e#2950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5df3d0ce96f8b766ba8ef4e0b70902ba3a75fc94\"\u003e\u003ccode\u003e5df3d0c\u003c/code\u003e\u003c/a\u003e Bump pylint-dev/backport from 2.1.1 to 2.1.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/657c086ae853e27ca4cb2ff6223db38a1236a38b\"\u003e\u003ccode\u003e657c086\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.2 to 5.0.3 (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2952\"\u003e#2952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.1.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=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.1.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/MohsenHNSJ/HamyarPaygahPy/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohsenHNSJ%2FHamyarPaygahPy/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"}},{"old_version":"4.0.3","new_version":"4.0.4","update_type":"patch","path":null,"pr_created_at":"2026-02-09T01:55:03.000Z","version_change":"4.0.3 → 4.0.4","issue":{"uuid":"3914071521","node_id":"PR_kwDOLVR1zc7CXOVL","number":391,"state":"closed","title":"chore(deps-dev): bump astroid from 4.0.3 to 4.0.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-20T02:22:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T01:55:03.000Z","updated_at":"2026-02-20T02:22:18.000Z","time_to_close":952026,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/SCAICT/SCAICT-uwu/pull/391","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCAICT%2FSCAICT-uwu/issues/391","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/391/packages"}},{"old_version":"4.0.3","new_version":"4.0.4","update_type":"patch","path":null,"pr_created_at":"2026-02-09T01:19:05.000Z","version_change":"4.0.3 → 4.0.4","issue":{"uuid":"3913998416","node_id":"PR_kwDODdBm-M7CW_RC","number":315,"state":"closed","title":"deps(deps): bump astroid from 4.0.3 to 4.0.4","user":"dependabot[bot]","labels":["dependencies"],"assignees":["takumi0213"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-10T02:36:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T01:19:05.000Z","updated_at":"2026-02-10T02:36:42.000Z","time_to_close":91056,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"astroid","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 4.0.3 to 4.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.4\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.4?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-02-07\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eis_namespace()\u003c/code\u003e crash when search locations contain \u003ccode\u003epathlib.Path\u003c/code\u003e objects.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2942\"\u003e#2942\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/019feb6018eef32a0e3a25d8153427a537961882\"\u003e\u003ccode\u003e019feb6\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b25ee05e15b70693a4d740ac563568e0b618ec0d\"\u003e\u003ccode\u003eb25ee05\u003c/code\u003e\u003c/a\u003e Fix namespace detection crash (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2949\"\u003e#2949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astroid\u0026package-manager=pip\u0026previous-version=4.0.3\u0026new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/SinaKitagami/program-team/pull/315","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SinaKitagami%2Fprogram-team/issues/315","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/315/packages"}},{"old_version":"3.3.11","new_version":"4.0.3","update_type":"major","path":null,"pr_created_at":"2026-02-02T02:19:41.000Z","version_change":"3.3.11 → 4.0.3","issue":{"uuid":"3883585413","node_id":"PR_kwDOQ_SFH87AyvXN","number":132,"state":"open","title":"Bump astroid from 3.3.11 to 4.0.3","user":"dependabot[bot]","labels":["dependencies"],"assignees":["neuron7x"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T02:19:41.000Z","updated_at":"2026-02-02T02:19:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"astroid","old_version":"3.3.11","new_version":"4.0.3","repository_url":"https://github.com/pylint-dev/astroid"}],"path":null,"ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.3.11 to 4.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for boolean truthiness constraints (\u003ccode\u003ex\u003c/code\u003e, \u003ccode\u003enot x\u003c/code\u003e) in inference.\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/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a068430290b375a06f6eccdcea7d5026995172ba\"\u003e\u003ccode\u003ea068430\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.2, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a5ce4b06033ef92acdd3d8cca1df3f947936e26d\"\u003e\u003ccode\u003ea5ce4b0\u003c/code\u003e\u003c/a\u003e Upgrade pylint to 4.0.0, add mypy to the allowlist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d71bfacb94c934753c0600a9963aa77697f5c1bb\"\u003e\u003ccode\u003ed71bfac\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Handle FunctionDef blockstart_tolineno edge case...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.3.11...v4.0.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=astroid\u0026package-manager=pip\u0026previous-version=3.3.11\u0026new-version=4.0.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/neuron7x/bnsyn-phase-controlled-emergent-dynamics/pull/132","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuron7x%2Fbnsyn-phase-controlled-emergent-dynamics/issues/132","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/132/packages"}},{"old_version":"3.3.5","new_version":"4.0.3","update_type":"major","path":"/backend","pr_created_at":"2026-01-17T03:57:18.000Z","version_change":"3.3.5 → 4.0.3","issue":{"uuid":"3824337497","node_id":"PR_kwDOQ6K5rM69vTV9","number":8,"state":"closed","title":"deps(deps): bump astroid from 3.3.5 to 4.0.3 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-17T09:28:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-17T03:57:18.000Z","updated_at":"2026-01-17T09:28:44.000Z","time_to_close":19885,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"astroid","old_version":"3.3.5","new_version":"4.0.3","repository_url":"https://github.com/pylint-dev/astroid"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.3.5 to 4.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.1\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.2?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-11-09\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHandle FunctionDef blockstart_tolineno edge cases correctly.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2880\"\u003e#2880\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eHTTPMethod\u003c/code\u003e enum support to brain module for Python 3.11+.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10624\"\u003epylint-dev/pylint#10624\u003c/a\u003e\nCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2877\"\u003e#2877\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.1?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSuppress \u003ccode\u003eSyntaxWarning\u003c/code\u003e for invalid escape sequences and return in finally on\nPython 3.14 when parsing modules.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAssign \u003ccode\u003eImport\u003c/code\u003e and \u003ccode\u003eImportFrom\u003c/code\u003e nodes to module locals if used with \u003ccode\u003eglobal\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10632\"\u003epylint-dev/pylint#10632\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.0?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2025-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport constraints from ternary expressions in inference.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/9729\"\u003epylint-dev/pylint#9729\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHandle deprecated \u003ccode\u003ebool(NotImplemented)\u003c/code\u003e cast in const nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for boolean truthiness constraints (\u003ccode\u003ex\u003c/code\u003e, \u003ccode\u003enot x\u003c/code\u003e) in inference.\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/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a068430290b375a06f6eccdcea7d5026995172ba\"\u003e\u003ccode\u003ea068430\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.2, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/a5ce4b06033ef92acdd3d8cca1df3f947936e26d\"\u003e\u003ccode\u003ea5ce4b0\u003c/code\u003e\u003c/a\u003e Upgrade pylint to 4.0.0, add mypy to the allowlist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d71bfacb94c934753c0600a9963aa77697f5c1bb\"\u003e\u003ccode\u003ed71bfac\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Handle FunctionDef blockstart_tolineno edge case...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v3.3.5...v4.0.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=astroid\u0026package-manager=pip\u0026previous-version=3.3.5\u0026new-version=4.0.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/zbxzrsa/AI-Based-Quality-Check-On-Project-Code-And-Architecture/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbxzrsa%2FAI-Based-Quality-Check-On-Project-Code-And-Architecture/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"4.0.2","new_version":"4.0.3","update_type":"patch","path":"/backend","pr_created_at":"2026-01-13T19:10:34.000Z","version_change":"4.0.2 → 4.0.3","issue":{"uuid":"3810179136","node_id":"PR_kwDOQiw2X869AAXW","number":7,"state":"closed","title":"build(deps): bump the dependencies group in /backend with 33 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-17T13:34:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-13T19:10:34.000Z","updated_at":"2026-01-17T13:34:16.000Z","time_to_close":325421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"dependencies","update_count":33,"packages":[{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"astroid","old_version":"4.0.2","new_version":"4.0.3","repository_url":"https://github.com/pylint-dev/astroid"},{"name":"black","old_version":"25.11.0","new_version":"25.12.0","repository_url":"https://github.com/psf/black"},{"name":"cachetools","old_version":"6.2.2","new_version":"6.2.4","repository_url":"https://github.com/tkem/cachetools"},{"name":"certifi","old_version":"2025.11.12","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"fastapi","old_version":"0.123.5","new_version":"0.128.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"google-auth","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-genai","old_version":"1.55.0","new_version":"1.57.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"langgraph","old_version":"1.0.4","new_version":"1.0.6","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-checkpoint","old_version":"3.0.1","new_version":"4.0.0","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-prebuilt","old_version":"1.0.5","new_version":"1.0.6","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-sdk","old_version":"0.2.12","new_version":"0.3.3","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.4.50","new_version":"0.6.2","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"mem0ai","old_version":"1.0.1","new_version":"1.0.2","repository_url":"https://github.com/mem0ai/mem0"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.1","repository_url":"https://github.com/numpy/numpy"},{"name":"openai","old_version":"2.9.0","new_version":"2.15.0","repository_url":"https://github.com/openai/openai-python"},{"name":"orjson","old_version":"3.11.4","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"ormsgpack","old_version":"1.12.0","new_version":"1.12.1","repository_url":"https://github.com/aviramha/ormsgpack"},{"name":"pathspec","old_version":"0.12.1","new_version":"1.0.3","repository_url":"https://github.com/cpburnz/python-pathspec"},{"name":"platformdirs","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"posthog","old_version":"7.0.1","new_version":"7.5.1","repository_url":"https://github.com/posthog/posthog-python"},{"name":"proto-plus","old_version":"1.26.1","new_version":"1.27.0","repository_url":"https://github.com/googleapis/proto-plus-python"},{"name":"pymongo","old_version":"4.15.5","new_version":"4.16.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"qdrant-client","old_version":"1.16.1","new_version":"1.16.2","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"ruff","old_version":"0.14.9","new_version":"0.14.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"sqlalchemy","old_version":"2.0.44","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"starlette","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomlkit","old_version":"0.13.3","new_version":"0.14.0","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"websockets","old_version":"15.0.1","new_version":"16.0","repository_url":"https://github.com/python-websockets/websockets"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps the dependencies group in /backend with 33 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [astroid](https://github.com/pylint-dev/astroid) | `4.0.2` | `4.0.3` |\n| [black](https://github.com/psf/black) | `25.11.0` | `25.12.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.2` | `6.2.4` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.11.12` | `2026.1.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.5` | `0.128.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.43.0` | `2.47.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.55.0` | `1.57.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.0` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.0.4` | `1.0.6` |\n| [langgraph-checkpoint](https://github.com/langchain-ai/langgraph) | `3.0.1` | `4.0.0` |\n| [langgraph-prebuilt](https://github.com/langchain-ai/langgraph) | `1.0.5` | `1.0.6` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.2.12` | `0.3.3` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.4.50` | `0.6.2` |\n| [mem0ai](https://github.com/mem0ai/mem0) | `1.0.1` | `1.0.2` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.1` |\n| [openai](https://github.com/openai/openai-python) | `2.9.0` | `2.15.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.4` | `3.11.5` |\n| [ormsgpack](https://github.com/aviramha/ormsgpack) | `1.12.0` | `1.12.1` |\n| [pathspec](https://github.com/cpburnz/python-pathspec) | `0.12.1` | `1.0.3` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.0` | `4.5.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `7.0.1` | `7.5.1` |\n| [proto-plus](https://github.com/googleapis/proto-plus-python) | `1.26.1` | `1.27.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.15.5` | `4.16.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.16.1` | `1.16.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.9` | `0.14.11` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.44` | `2.0.45` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.51.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.3` | `0.14.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0.1` | `16.0` |\n\nUpdates `anyio` from 4.12.0 to 4.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged all functions currently raising the private \u003ccode\u003eNoCurrentAsyncBackend\u003c/code\u003e exception (since v4.12.0) to instead raise the public \u003ccode\u003eNoEventLoopError\u003c/code\u003e exception (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1048\"\u003e#1048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with instance methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1042\"\u003e#1042\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/agronholm/anyio/commit/a0dccbd78d75886247ae7846b460fd390cc94fbd\"\u003e\u003ccode\u003ea0dccbd\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/e1121a735c977c00c18b3a581d28daf83a279833\"\u003e\u003ccode\u003ee1121a7\u003c/code\u003e\u003c/a\u003e Enabled tests for the 4.12.x branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/69ab43e549517ce554f84365fed9da90e806c303\"\u003e\u003ccode\u003e69ab43e\u003c/code\u003e\u003c/a\u003e Fixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/4f4b33ed56edd1bc4785a368a103ad8138730d91\"\u003e\u003ccode\u003e4f4b33e\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eBlockingPortal.__new__\u003c/code\u003e hack (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/af17d89b80ebbd526215e2dbd025b284730aaa3f\"\u003e\u003ccode\u003eaf17d89\u003c/code\u003e\u003c/a\u003e Replaced the NoCurrentAsyncBackend exception with NoEventLoopError (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/4310264312a2e86e792481bdb05bdb381678a6b5\"\u003e\u003ccode\u003e4310264\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/0cc6723ba5a2fdaa98a24852d3681c4ed99b8863\"\u003e\u003ccode\u003e0cc6723\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.0...4.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astroid` from 4.0.2 to 4.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/releases\"\u003eastroid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.3\u003c/h2\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pylint-dev/astroid/blob/main/ChangeLog\"\u003eastroid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eWhat's New in astroid 4.0.3?\u003c/h1\u003e\n\u003cp\u003eRelease date: 2026-01-03\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix inference of \u003ccode\u003eIfExp\u003c/code\u003e (ternary expression) nodes to avoid prematurely narrowing\nresults in the face of inference ambiguity.\u003c/p\u003e\n\u003cp\u003eCloses \u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2899\"\u003e#2899\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix base class inference for dataclasses using the PEP 695 typing syntax.\u003c/p\u003e\n\u003cp\u003eRefs \u003ca href=\"https://redirect.github.com/pylint-dev/pylint/issues/10788\"\u003epylint-dev/pylint#10788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/b978037e67f233f4366de4ccbcdad2c627474477\"\u003e\u003ccode\u003eb978037\u003c/code\u003e\u003c/a\u003e Bump astroid to 4.0.3, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/5476bc3dad1fe83bd4725ae284229a51326bd97c\"\u003e\u003ccode\u003e5476bc3\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Wrong inference with default argument values (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/ae761dca40d1aa1b7e7b941e535a819acd83f9a5\"\u003e\u003ccode\u003eae761dc\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Fix base class inference for dataclasses with PE...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/077c51fa1eb737a13d6888873dc432cf8cbbe9e0\"\u003e\u003ccode\u003e077c51f\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [typing] Add sys check guard for typing.Self for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/f3255d1611277ecc3d6f338d551ce8437f66ae72\"\u003e\u003ccode\u003ef3255d1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Skip mypy install for pypy (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/d2823f2cb764b3d63c91998f6cd392629147c095\"\u003e\u003ccode\u003ed2823f2\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [ci] Fix windows cache key (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/astroid/commit/05c79e1e57da03875a8fd8a30715688f179585da\"\u003e\u003ccode\u003e05c79e1\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] Improve self argument typing (\u003ca href=\"https://redirect.github.com/pylint-dev/astroid/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/astroid/compare/v4.0.2...v4.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.11.0 to 25.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003cp\u003ePlease test out the draft 2026 style in version 26.1a1! This style will be finalized in\nthe January release (26.1.0). Most of the changes in \u003ccode\u003e--preview\u003c/code\u003e will be in the 2026\nstable style, but not all.\n\u003ca href=\"https://redirect.github.com/psf/black/issues/4042\"\u003ePlease share your feedback!\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release (25.12.0) will still produce the 2025 style.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\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/psf/black/commit/782e5605c86aab56be6f905da10dcd3e463fd9c2\"\u003e\u003ccode\u003e782e560\u003c/code\u003e\u003c/a\u003e Pin actions/checkout@v5.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/f0f40945c1b0ebaa9ca733aca517610574c451d6\"\u003e\u003ccode\u003ef0f4094\u003c/code\u003e\u003c/a\u003e Fix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/70fc194172184861aafb418c124824cae0fbe3b0\"\u003e\u003ccode\u003e70fc194\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions\u0026quot; (\u003ca href=\"https://redirect.github.com/psf/black/issues/4893\"\u003e#4893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7044b145f4826e0d6e07178d89666856a8e37aff\"\u003e\u003ccode\u003e7044b14\u003c/code\u003e\u003c/a\u003e Prepare 25.12.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/5b470f0e577f3c39e0f7d668934d587c0733a652\"\u003e\u003ccode\u003e5b470f0\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4883\"\u003e#4883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1b342ef5b0433fc1ed61a7e05a65744bef706fc9\"\u003e\u003ccode\u003e1b342ef\u003c/code\u003e\u003c/a\u003e Fix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in multi-part if-clau...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7b265f16634155dafcca65f6122ef7ed8d14a67f\"\u003e\u003ccode\u003e7b265f1\u003c/code\u003e\u003c/a\u003e Pin Hatch to hopefully fix Docker builds (\u003ca href=\"https://redirect.github.com/psf/black/issues/4878\"\u003e#4878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c9523f463fdc9d9f9f0e61ca92d9b37acdf0d8fc\"\u003e\u003ccode\u003ec9523f4\u003c/code\u003e\u003c/a\u003e Attempt to fix Docker build failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4876\"\u003e#4876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0f376e0c35bcb29f87ce18eace30333a3e105841\"\u003e\u003ccode\u003e0f376e0\u003c/code\u003e\u003c/a\u003e Fix crashes when fmt directives are indented (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/a8bfcc1040fdfce2e02cdd85dc8bf4e7abe0462f\"\u003e\u003ccode\u003ea8bfcc1\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.11.0...25.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachetools` from 6.2.2 to 6.2.4\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\u003ev6.2.4 (2025-12-15)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix license information displayed on PyPI be using an updated\nversion of \u003ccode\u003etwine\u003c/code\u003e for uploading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev6.2.3 (2025-12-12)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImprove documentation regarding \u003ccode\u003e@cachedmethod\u003c/code\u003e with \u003ccode\u003econdition\u003c/code\u003e\nparameter.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMinor style and readability improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModernize build environment.\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/9983ef8bd76758707ab9d197d4bd9fa47b4fb8bd\"\u003e\u003ccode\u003e9983ef8\u003c/code\u003e\u003c/a\u003e Bump version for uploading with updated twine.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/c9354683857b10b5e00cb93d06f7549ac8344fc0\"\u003e\u003ccode\u003ec935468\u003c/code\u003e\u003c/a\u003e Release v6.2.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/94d1099e6e79d34c436dc9f5d1cc039bcbf76738\"\u003e\u003ccode\u003e94d1099\u003c/code\u003e\u003c/a\u003e Prepare v6.2.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/af8b7d4ffa48d5947161ddb8c1ef1c60dda1e816\"\u003e\u003ccode\u003eaf8b7d4\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/372\"\u003e#372\u003c/a\u003e: Convert setup.cfg to pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/20b8a192f666420a1986b793fd5846b89fdcd647\"\u003e\u003ccode\u003e20b8a19\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/370\"\u003e#370\u003c/a\u003e: Mention that using \u003ca href=\"https://github.com/cachedmethod\"\u003e\u003ccode\u003e@​cachedmethod\u003c/code\u003e\u003c/a\u003e with condition requires self to be...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/116fb4c3459067442d731e01a3db4694b50722f1\"\u003e\u003ccode\u003e116fb4c\u003c/code\u003e\u003c/a\u003e Minor style and readability improvements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/96546ea34f8c77df009fb3bc019b72b03589c3fd\"\u003e\u003ccode\u003e96546ea\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/0106cc1d4764c9a94cd39a55579ce49bca9f4e1e\"\u003e\u003ccode\u003e0106cc1\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tkem/cachetools/compare/v6.2.2...v6.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.11.12 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.11.12...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.123.5 to 0.128.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.128.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14609\"\u003e#14609\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✅ Run performance tests only on Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14608\"\u003e#14608\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.127.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14605\"\u003e#14605\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add documentary to website. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14600\"\u003e#14600\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 de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14602\"\u003e#14602\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14581\"\u003e#14581\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Update pre-commit to use local Ruff instead of hook. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14604\"\u003e#14604\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Add missing tests for code examples. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14569\"\u003e#14569\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👷 Remove \u003ccode\u003elint\u003c/code\u003e job from \u003ccode\u003etest\u003c/code\u003e CI workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14593\"\u003e#14593\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 secrets check. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14592\"\u003e#14592\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👷 Run CodSpeed tests in parallel to other tests to speed up CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14586\"\u003e#14586\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 scripts and pre-commit to autofix files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14585\"\u003e#14585\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.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8322a4445a3b25acd9b26b61192571b2d92f9bcd\"\u003e\u003ccode\u003e8322a44\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.128.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b2cfcfd34d0b2e158a05b377426e0c8376b94de\"\u003e\u003ccode\u003e4b2cfcf\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3006305518a56ea35f62a31748ad26fe4356fcc\"\u003e\u003ccode\u003ee300630\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14609\"\u003e#14609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1b3bea8b6be2220cc1544653ea785d2134fcb35b\"\u003e\u003ccode\u003e1b3bea8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/34e884156f38dff4094a7764ff895c4d4b872060\"\u003e\u003ccode\u003e34e8841\u003c/code\u003e\u003c/a\u003e ✅ Run performance tests only on Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14608\"\u003e#14608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cd90c78391f86f3fd06d5b327bffad9666b05b44\"\u003e\u003ccode\u003ecd90c78\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/93f4dfd88b7d62bda89eb521ebd9322e357e6fff\"\u003e\u003ccode\u003e93f4dfd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/535b5daa317a9d1d1f9a1058e57650a7beefa861\"\u003e\u003ccode\u003e535b5da\u003c/code\u003e\u003c/a\u003e 🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14605\"\u003e#14605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b53786f626db95a42fd0f66afd360bab161f4b1\"\u003e\u003ccode\u003e6b53786\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d98f4eb56eae3155034fe631d9639d95171fb9ab\"\u003e\u003ccode\u003ed98f4eb\u003c/code\u003e\u003c/a\u003e 🔧 Update pre-commit to use local Ruff instead of hook (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14604\"\u003e#14604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.5...0.128.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.43.0 to 2.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.47.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4\"\u003e5c07e1c4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc2001\"\u003e60dc2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.46.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d5\"\u003e0b9107d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631\"\u003e02e71631\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f\"\u003e12f4470f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588\"\u003e59a5f588\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d001470\"\u003e5d001470\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e09\"\u003e94d04e09\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531c\"\u003ec767531c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2\"\u003e3f1aeea2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2d1014ea1d244a4c3470e52d74d55404b\"\u003e3f1aeea2d1014ea1d244a4c3470e52d74d55404b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e0b9107d573123e358c347ffa067637f992af61b4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588f7793b59d923a4185c8c07738da618f7\"\u003e59a5f588f7793b59d923a4185c8c07738da618f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d0014707fc359782df5ccfcaa75fd372fe9dce3\"\u003e5d0014707fc359782df5ccfcaa75fd372fe9dce3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531ce05a89002d109f595187aff1fcaacfb7\"\u003ec767531ce05a89002d109f595187aff1fcaacfb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f808809e8abf1141f98d88ab720c3899b\"\u003e12f4470f808809e8abf1141f98d88ab720c3899b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e090fdfc61926dd32bc1d65f8820b9cede5\"\u003e94d04e090fdfc61926dd32bc1d65f8820b9cede5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631fe275d93825c2e957e830773e75133f7\"\u003e02e71631fe275d93825c2e957e830773e75133f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/f32301a03372eb72a8b5542a4cc223e01ee1e33b\"\u003e\u003ccode\u003ef32301a\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260106T130342Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1922\"\u003e#1922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25f4ca658c1880c7a27ed817ded4c17d84c26854\"\u003e\u003ccode\u003e25f4ca6\u003c/code\u003e\u003c/a\u003e chore: remove Python 3.7 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1919\"\u003e#1919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e\u003ccode\u003e60dc200\u003c/code\u003e\u003c/a\u003e fix: Python 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e\u003ccode\u003e5c07e1c\u003c/code\u003e\u003c/a\u003e feat: drop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2cbc2a2e2e75e8797bf3709eb1e624ad39e7e7d4\"\u003e\u003ccode\u003e2cbc2a2\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260105T122553Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5b7b5d83adafe275351989a96328472b1845c4be\"\u003e\u003ccode\u003e5b7b5d8\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20260105T112538Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/7dbf05a56c5c8f1c01f985af140dc8c5ea29656a\"\u003e\u003ccode\u003e7dbf05a\u003c/code\u003e\u003c/a\u003e chore: rename _refresh_token to _perform_refresh_token (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1900\"\u003e#1900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/855a45af913a5d099e30036b80d8ba3b0c324a62\"\u003e\u003ccode\u003e855a45a\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/77c8bc48b5638cbe8c4415fdd378853e9db6e156\"\u003e\u003ccode\u003e77c8bc4\u003c/code\u003e\u003c/a\u003e tests: make the TLS tests skip when pyopenssl isn't available (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e\u003ccode\u003e0b9107d\u003c/code\u003e\u003c/a\u003e feat: Recognize workload certificate config in has_default_client_cert_source...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.55.0 to 1.57.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.57.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.56.0...v1.57.0\"\u003e1.57.0\u003c/a\u003e (2026-01-07)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Python] add RegisterFiles so gcs files can be used with genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68fa0754290bcbd84c1c34806eedfdad28890921\"\u003e68fa075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3-pro-preview support for local tokenizer (\u003ca href=\"https://github.com/googleapis/python-genai/commit/48f8256202a9ea3abfb7790fa80fcbf68e541131\"\u003e48f8256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PersonGeneration to ImageConfig for Vertex Gempix (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c66e0ce16bc1385969b66d3f266269ac9aafad73\"\u003ec66e0ce\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove validation for empty text parts on Chat, this will support keeping the history in chat when the API yields back such a part. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/215c8524659c0b2ca945b6cd7887b3501db61be4\"\u003e215c852\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.56.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b4c063e7f213092e5cb25a7ad0783540dc7a982e\"\u003eb4c063e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecodegen_instructions.md\u003c/code\u003e for Gemini 3 Flash (\u003ca href=\"https://github.com/googleapis/python-genai/commit/22500b5ef99fb8e2d3f476da10164b08e8485a6f\"\u003e22500b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Virtual Try-On model id in samples and docstrings (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5bf4d625f3b3965260ea5dcc1427f8b6a6845eab\"\u003e5bf4d62\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.56.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.55.0...v1.56.0\"\u003e1.56.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal and medium thinking levels. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/96d644cd52a300063040c6d7bf70e2939b735e6f\"\u003e96d644c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Struct in ToolResult Content. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8fd4886a04396683f75a54887f768c312e1b73b7\"\u003e8fd4886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ultra high resolution to the media resolution in Parts. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/356c320566a7ff512c680bcf60b678648b342829\"\u003e356c320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ULTRA_HIGH MediaResolution and new ThinkingLevel enums (\u003ca href=\"https://github.com/googleapis/python-genai/commit/336b8236c0e7c16d581226ed3438453dddf66119\"\u003e336b823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDefine and use DocumentMimeType for DocumentContent (\u003ca href=\"https://github.com/googleapis/python-genai/commit/dc7f00f78b74bfdeab4b20121a4c2c2ba3065daa\"\u003edc7f00f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi speaker for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ecb00c22414dc578cf7db760591a4086a541d72a\"\u003eecb00c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApi version handling for interactions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/436ca2e1d536d57d662284b6b1079215de3d787f\"\u003e436ca2e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation for the new Interactions API (Preview). (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e28a69c92a7c770400b329cad714c2b612829fe0\"\u003ee28a69c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate and restructure codegen_instructions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/00422de07b133a19246f91ac77e7da41dc471e74\"\u003e00422de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs for 1.55 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc43e7d066eeb95c77409d01fd8f5652d32847a\"\u003e1cc43e7\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/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.56.0...v1.57.0\"\u003e1.57.0\u003c/a\u003e (2026-01-07)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Python] add RegisterFiles so gcs files can be used with genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68fa0754290bcbd84c1c34806eedfdad28890921\"\u003e68fa075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3-pro-preview support for local tokenizer (\u003ca href=\"https://github.com/googleapis/python-genai/commit/48f8256202a9ea3abfb7790fa80fcbf68e541131\"\u003e48f8256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PersonGeneration to ImageConfig for Vertex Gempix (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c66e0ce16bc1385969b66d3f266269ac9aafad73\"\u003ec66e0ce\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove validation for empty text parts on Chat, this will support keeping the history in chat when the API yields back such a part. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/215c8524659c0b2ca945b6cd7887b3501db61be4\"\u003e215c852\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.56.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b4c063e7f213092e5cb25a7ad0783540dc7a982e\"\u003eb4c063e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecodegen_instructions.md\u003c/code\u003e for Gemini 3 Flash (\u003ca href=\"https://github.com/googleapis/python-genai/commit/22500b5ef99fb8e2d3f476da10164b08e8485a6f\"\u003e22500b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Virtual Try-On model id in samples and docstrings (\u003ca href=\"https://github.com/googleapis/python-genai/commit/5bf4d625f3b3965260ea5dcc1427f8b6a6845eab\"\u003e5bf4d62\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.55.0...v1.56.0\"\u003e1.56.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal and medium thinking levels. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/96d644cd52a300063040c6d7bf70e2939b735e6f\"\u003e96d644c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Struct in ToolResult Content. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8fd4886a04396683f75a54887f768c312e1b73b7\"\u003e8fd4886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ultra high resolution to the media resolution in Parts. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/356c320566a7ff512c680bcf60b678648b342829\"\u003e356c320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ULTRA_HIGH MediaResolution and new ThinkingLevel enums (\u003ca href=\"https://github.com/googleapis/python-genai/commit/336b8236c0e7c16d581226ed3438453dddf66119\"\u003e336b823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDefine and use DocumentMimeType for DocumentContent (\u003ca href=\"https://github.com/googleapis/python-genai/commit/dc7f00f78b74bfdeab4b20121a4c2c2ba3065daa\"\u003edc7f00f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multi speaker for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ecb00c22414dc578cf7db760591a4086a541d72a\"\u003eecb00c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApi version handling for interactions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/436ca2e1d536d57d662284b6b1079215de3d787f\"\u003e436ca2e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation for the new Interactions API (Preview). (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e28a69c92a7c770400b329cad714c2b612829fe0\"\u003ee28a69c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate and restructure codegen_instructions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/00422de07b133a19246f91ac77e7da41dc471e74\"\u003e00422de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs for 1.55 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc43e7d066eeb95c77409d01fd8f5652d32847a\"\u003e1cc43e7\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/googleapis/python-genai/commit/28bd0e832ab55facc81c0ef72567da6d83b6f308\"\u003e\u003ccode\u003e28bd0e8\u003c/code\u003e\u003c/a\u003e chore(main): release 1.57.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1878\"\u003e#1878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/68fa0754290bcbd84c1c34806eedfdad28890921\"\u003e\u003ccode\u003e68fa075\u003c/code\u003e\u003c/a\u003e feat: [Python] add RegisterFiles so gcs files can be used with genai.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/5bf4d625f3b3965260ea5dcc1427f8b6a6845eab\"\u003e\u003ccode\u003e5bf4d62\u003c/code\u003e\u003c/a\u003e docs: Update Virtual Try-On model id in samples and docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/215c8524659c0b2ca945b6cd7887b3501db61be4\"\u003e\u003ccode\u003e215c852\u003c/code\u003e\u003c/a\u003e fix: Remove validation for empty text parts on Chat, this will support keepin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/930c7ca7d5b696d3388fe16fb724184eb88c6a65\"\u003e\u003ccode\u003e930c7ca\u003c/code\u003e\u003c/a\u003e chore: bump google auth lower bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/22816779439868df804fadf2f4335fc7f36b4495\"\u003e\u003ccode\u003e2281677\u003c/code\u003e\u003c/a\u003e refactor: Introduce a top-level Content type alias\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/48f8256202a9ea3abfb7790fa80fcbf68e541131\"\u003e\u003ccode\u003e48f8256\u003c/code\u003e\u003c/a\u003e feat: Add gemini-3-pro-preview support for local tokenizer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/db1a7335f17bc916f83da3596df6175d40d3862b\"\u003e\u003ccode\u003edb1a733\u003c/code\u003e\u003c/a\u003e chore: Update Interactions base client initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/f16142bc74a36c0fc7ef4a22abaf0d3250ef233f\"\u003e\u003ccode\u003ef16142b\u003c/code\u003e\u003c/a\u003e chore: Rename total_reasoning_tokens to total_thought_tokens.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/0de263e8a42af5fc5a061d25d53a2e2e35a348e6\"\u003e\u003ccode\u003e0de263e\u003c/code\u003e\u003c/a\u003e chore: Remove the 'object' field from Interaction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.55.0...v1.57.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.4 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.0 (2025-12-04)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitch to distributing manylinux_2_28 wheels instead of\nmanylinux2014 wheels. Likewise, switch from musllinux_1_1 to 1_2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial support for free-threaded builds of CPython 3.14. Due to\nlimitations, we do not distribute binary wheels for free-threaded\nCPython on Windows. (Free-threaded CPython 3.13 may work, but is\nuntested and unsupported.)\u003c/p\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cp\u003eUnder some rare scenarios with free-threaded 3.14, the\ninterpreter may crash on accessing a variable or attribute or\nwhen shutting down. If this happens, try disabling the\nthread-local bytecode cache. See the greenlet documentation for\nmore details. See \u003ccode\u003ePR 472 by T. Wouters \u0026lt;https://github.com/python-greenlet/greenlet/pull/472\u0026gt;\u003c/code\u003e_ for the\ninitial free-threaded support and a discussion of the current\nknown issues.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0f904314e2fe11835bdff9d928f9f039116aebff\"\u003e\u003ccode\u003e0f90431\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/296058a43da5a76c2406a91aa998413b93537940\"\u003e\u003ccode\u003e296058a\u003c/code\u003e\u003c/a\u003e Tweak changelog. [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4392ab171036bf73cc64ed47109e0d2e1f41275\"\u003e\u003ccode\u003ed4392ab\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e6fead23d967fd6194c5a1eaa48d55a07b4bda40\"\u003e\u003ccode\u003ee6fead2\u003c/code\u003e\u003c/a\u003e Update docs regarding free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b134610187f94a641e0cf40be56992c8e9f667\"\u003e\u003ccode\u003ed5b1346\u003c/code\u003e\u003c/a\u003e 3.14: Save/restore PyInterpreterFrame.stackpointer.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b54c4bdaaade13139d54005df51a9d21df5db7c4\"\u003e\u003ccode\u003eb54c4bd\u003c/code\u003e\u003c/a\u003e Fix some crashes with CPython assertions enabled, pointing to things we were ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/47e99259263968560422c9b69bc8c50f9068cf87\"\u003e\u003ccode\u003e47e9925\u003c/code\u003e\u003c/a\u003e Add a test that we're not enabling the GIL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/0778d50792888afa043c8a368085358c3fea0146\"\u003e\u003ccode\u003e0778d50\u003c/code\u003e\u003c/a\u003e Use our Python allocator on free-threaded builds, but do it correctly with Py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5f661f4f5a023438e944d36e4f255c7a706ae998\"\u003e\u003ccode\u003e5f661f4\u003c/code\u003e\u003c/a\u003e Add free-threaded CI builds and manylinux builds; update manylinux away from ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/5331b0ad33a7380b91d8a9849f61aa61b7b1ade2\"\u003e\u003ccode\u003e5331b0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/475\"\u003e#475\u003c/a\u003e from clin1234/capi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.2.4...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph` from 1.0.4 to 1.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph-prebuilt==1.0.6\u003c/h2\u003e\n\u003cp\u003eChanges since prebuilt==1.0.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(prebuilt): support generic type arguments for ToolRuntime injection (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add \u003ccode\u003estate\u003c/code\u003e attribute to \u003ccode\u003eToolCallRequest\u003c/code\u003e overrides (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6668\"\u003e#6668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: suppress unintended deprecation warning (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6669\"\u003e#6669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: x-refs and explainer in tool node docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6653\"\u003e#6653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: \u003ccode\u003eToolNode\u003c/code\u003e nit (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6652\"\u003e#6652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(checkpoint): Validate checkpointer type at compile time (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6586\"\u003e#6586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): bump to 1.0.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6582\"\u003e#6582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-postgres): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6568\"\u003e#6568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-sqlite): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: custom encryption at rest (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Bump lockfile (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6537\"\u003e#6537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Include pagination in assistants search response (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6526\"\u003e#6526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): 1.0.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6502\"\u003e#6502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(sdk-py): Add more type checking. (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6479\"\u003e#6479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: interrupt stream mode values (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6475\"\u003e#6475\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.6\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: change default recursion limit (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6676\"\u003e#6676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: sanitize namespace for deeply nested graph jumps (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6665\"\u003e#6665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: typo: saved the world \u0026quot;BaseMessge\u0026quot; to \u0026quot;BaseMessage\u0026quot;  (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6639\"\u003e#6639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(cli): relax api bounds (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6606\"\u003e#6606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(checkpoint): Validate checkpointer type at compile time (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6586\"\u003e#6586\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eprebuilt==1.0.5\u003c/h2\u003e\n\u003cp\u003eChanges since prebuilt==1.0.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: langgraph-prebuilt 1.0.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6473\"\u003e#6473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: refactor injection logic to respect function signatures (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6468\"\u003e#6468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: deprecate \u003ccode\u003esetattr\u003c/code\u003e on \u003ccode\u003eToolCallRequest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6462\"\u003e#6462\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.5\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): bump to 1.0.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6582\"\u003e#6582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): emit id as part of stream events (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6581\"\u003e#6581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update readme (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6570\"\u003e#6570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-postgres): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6568\"\u003e#6568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint-sqlite): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(cli): Pass through webhook configuration in dev server (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6557\"\u003e#6557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: custom encryption at rest (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: fix links for docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6538\"\u003e#6538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Bump lockfile (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6537\"\u003e#6537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Include pagination in assistants search response (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6526\"\u003e#6526\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/langchain-ai/langgraph/commit/f91d79d0c86932ded6e3b9f195d5a0bbd5aef99c\"\u003e\u003ccode\u003ef91d79d\u003c/code\u003e\u003c/a\u003e fix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/cb2faa7dda0f2ea49d2729361e1802fb233feaa5\"\u003e\u003ccode\u003ecb2faa7\u003c/code\u003e\u003c/a\u003e fix(prebuilt): support generic type arguments for ToolRuntime injection (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/a5827c5c6193669d3063897e1845a45cfb90d732\"\u003e\u003ccode\u003ea5827c5\u003c/code\u003e\u003c/a\u003e fix: change default recursion limit (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6676\"\u003e#6676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/5212369bd0791806083f183cb19ccce024db8790\"\u003e\u003ccode\u003e5212369\u003c/code\u003e\u003c/a\u003e feat(sdk-py): add end-time to crons client (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6674\"\u003e#6674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/7045a23148bfb7c7de825776531d163f22241aaa\"\u003e\u003ccode\u003e7045a23\u003c/code\u003e\u003c/a\u003e fix: add \u003ccode\u003estate\u003c/code\u003e attribute to \u003ccode\u003eToolCallRequest\u003c/code\u003e overrides (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6668\"\u003e#6668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/728db10b1f38c9c56f097d2847f0330977d5eba2\"\u003e\u003ccode\u003e728db10\u003c/code\u003e\u003c/a\u003e fix: suppress unintended deprecation warning (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6669\"\u003e#6669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/454af218968b2962b4beeb9a28b9d421f0610694\"\u003e\u003ccode\u003e454af21\u003c/code\u003e\u003c/a\u003e feat(sdk-py): cron.on_run_completed support (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6662\"\u003e#6662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/b4630d84520e5f8b6c6580f15cd7dada214ef657\"\u003e\u003ccode\u003eb4630d8\u003c/code\u003e\u003c/a\u003e chore: delete docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6488\"\u003e#6488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/311465bbf7751829942b92bc28c5a79e0666710f\"\u003e\u003ccode\u003e311465b\u003c/code\u003e\u003c/a\u003e fix: sanitize namespace for deeply nested graph jumps (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6665\"\u003e#6665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/8ccead9560f6cd76537f632d7a310ba41e38f28b\"\u003e\u003ccode\u003e8ccead9\u003c/code\u003e\u003c/a\u003e docs: x-refs and explainer in tool node docs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6653\"\u003e#6653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/1.0.4...1.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph-checkpoint` from 3.0.1 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph-checkpoint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph-checkpoint==4.0.0\u003c/h2\u003e\n\u003cp\u003eChanges since checkpoint==3.0.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(checkpoint): InMemorySaver context managers should return self in… (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6529\"\u003e#6529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: docstring for serializer protocol (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6525\"\u003e#6525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: clean up some refs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6487\"\u003e#6487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: add \u003ccode\u003epyproject.toml\u003c/code\u003e links (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6364\"\u003e#6364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-checkpoint-postgres==3.0.3\u003c/h2\u003e\n\u003cp\u003eChanges since checkpointpostgres==3.0.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: storage nits (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6651\"\u003e#6651\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-checkpoint-postgres==3.0.2\u003c/h2\u003e\n\u003cp\u003eChanges since checkpointpostgres==3.0.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(checkpoint-postgres): 3.0.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6568\"\u003e#6568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: pgqs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6567\"\u003e#6567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(checkpoint-postgres): ensure vector extension is created only if not exists (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6154\"\u003e#6154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(checkpoint-postgres): Replace f-string SQL formatting with parameterized queries in migration statements (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6328\"\u003e#6328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: add \u003ccode\u003epyproject.toml\u003c/code\u003e links (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6364\"\u003e#6364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add license files for checkpoint-sqlite and checkpoint-postgres (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6392\"\u003e#6392\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-checkpoint-sqlite==3.0.2\u003c/h2\u003e\n\u003cp\u003eChanges since checkpointsqlite==3.0.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: storage nits (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6651\"\u003e#6651\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/langchain-ai/langgraph/commit/f91d79d0c86932ded6e3b9f195d5a0bbd5aef99c\"\u003e\u003ccode\u003ef91d79d\u003c/code\u003e\u003c/a\u003e fix: flip default on base cache (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6677\"\u003e#6677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/cb2faa7dda0f2e...\n\n_Description has been truncated_","html_url":"https://github.com/colutti/aitrainer/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/colutti%2Faitrainer/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}}]}