{"id":19191,"name":"yamlfix","ecosystem":"pip","repository_url":"https://github.com/lyz-code/yamlfix","issues_count":34,"created_at":"2025-06-07T01:38:54.987Z","updated_at":"2025-06-07T01:38:54.987Z","purl":"pkg:pypi/yamlfix","metadata":{"id":2977918,"name":"yamlfix","ecosystem":"pypi","description":"A simple opionated yaml formatter that keeps your comments!","homepage":"https://github.com/lyz-code/yamlfix","licenses":"GPL-3.0-only","normalized_licenses":["GPL-3.0-only"],"repository_url":"https://github.com/lyz-code/yamlfix","keywords_array":[],"namespace":null,"versions_count":42,"first_release_published_at":"2020-11-25T00:27:50.000Z","latest_release_published_at":"2024-08-21T16:02:27.000Z","latest_release_number":"1.17.0","last_synced_at":"2025-05-23T13:08:03.446Z","created_at":"2022-04-10T13:09:01.831Z","updated_at":"2025-05-23T13:16:14.208Z","registry_url":"https://pypi.org/project/yamlfix/","install_command":"pip install yamlfix --index-url https://pypi.org/simple","documentation_url":"https://lyz-code.github.io/yamlfix","metadata":{"funding":null,"documentation":"https://lyz-code.github.io/yamlfix","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: GNU General Public License v3 (GPLv3)","Natural Language :: English","Operating System :: POSIX","Operating System :: Unix","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Utilities"],"normalized_name":"yamlfix"},"repo_metadata":{"id":37082718,"uuid":"315731662","full_name":"lyz-code/yamlfix","owner":"lyz-code","description":"A simple opinionated yaml formatter that keeps your comments!","archived":false,"fork":false,"pushed_at":"2024-08-23T11:20:41.000Z","size":4972,"stargazers_count":201,"open_issues_count":46,"forks_count":38,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-16T12:11:58.223Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://lyz-code.github.io/yamlfix","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lyz-code.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing.md","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":{"liberapay":"Lyz","ko_fi":"lyzzz"}},"created_at":"2020-11-24T19:24:07.000Z","updated_at":"2025-05-12T15:24:27.000Z","dependencies_parsed_at":"2023-02-17T04:15:50.612Z","dependency_job_id":"4272e142-842e-42ba-829b-abfb8107c436","html_url":"https://github.com/lyz-code/yamlfix","commit_stats":{"total_commits":502,"total_committers":25,"mean_commits":20.08,"dds":0.4482071713147411,"last_synced_commit":"8072181c0f2eab9f2dd8db2eb3b9556d7cd0bd74"},"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fyamlfix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fyamlfix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fyamlfix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fyamlfix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lyz-code","download_url":"https://codeload.github.com/lyz-code/yamlfix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":255901779,"owners_count":22306091,"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":"lyz-code","name":"Lyz","uuid":"24810987","kind":"user","description":"","email":"","website":"https://lyz-code.github.io/blue-book/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/24810987?u=56bc73adb6e4034dc0b5938de5b0faa5cc187082\u0026v=4","repositories_count":22,"last_synced_at":"2023-03-03T12:00:48.133Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/lyz-code","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T23:02:29.408Z","updated_at":"2023-03-03T12:00:48.189Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lyz-code","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lyz-code/repositories"}},"repo_metadata_updated_at":"2025-05-23T13:16:14.208Z","dependent_packages_count":4,"downloads":301158,"downloads_period":"last-month","dependent_repos_count":45,"rankings":{"downloads":1.125639243098079,"dependent_repos_count":2.1886256231106676,"dependent_packages_count":4.778372240132306,"stargazers_count":6.759045302233965,"forks_count":7.065081745141113,"docker_downloads_count":4.628041856246808,"average":4.424134334993823},"purl":"pkg:pypi/yamlfix","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/yamlfix","docker_dependents_count":3,"docker_downloads_count":118,"usage_url":"https://repos.ecosyste.ms/usage/pypi/yamlfix","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/yamlfix/dependencies","status":null,"funding_links":["https://liberapay.com/Lyz","https://ko-fi.com/lyzzz"],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/yamlfix/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/yamlfix/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/yamlfix/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/yamlfix/related_packages","maintainers":[{"uuid":"lyz","login":"lyz","name":null,"email":null,"url":null,"packages_count":17,"html_url":"https://pypi.org/user/lyz/","role":null,"created_at":"2023-02-25T20:23:55.423Z","updated_at":"2023-02-25T20:23:55.423Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/lyz/packages"},{"uuid":"muripic","login":"muripic","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/muripic/","role":null,"created_at":"2023-02-25T20:23:55.442Z","updated_at":"2023-02-25T20:23:55.442Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/muripic/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690499,"maintainers_count":292846,"namespaces_count":0,"keywords_count":228675,"github":"pypi","metadata":{"funded_packages_count":48967},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-07T05:28:50.775Z","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":15,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"4062894106","node_id":"PR_kwDORVpyr87J8gYq","number":14,"state":"open","title":"deps: bump the python-minor group across 1 directory with 62 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-03-12T07:56:09.000Z","updated_at":"2026-03-12T07:56:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":62,"packages":[{"name":"fastapi","old_version":"0.123.9","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"plotly","old_version":"6.5.0","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"scipy","old_version":"1.16.3","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"torch","old_version":"2.9.1","new_version":"2.10.0+cpu"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"coverage","old_version":"7.12.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"filelock","old_version":"3.20.2","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.17","repository_url":"https://github.com/pre-commit/identify"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"networkx","old_version":"3.6","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"pillow","old_version":"12.1.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pyparsing","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.5","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"fastapi-cli","old_version":"0.0.16","new_version":"0.0.24","repository_url":"https://github.com/fastapi/fastapi-cli"},{"name":"flake8-simplify","old_version":"0.22.0","new_version":"0.30.0","repository_url":"https://github.com/MartinThoma/flake8-simplify"},{"name":"gmpy2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/gmpy2/gmpy2"},{"name":"importlib-metadata","old_version":"8.7.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"maison","old_version":"2.0.0","new_version":"2.0.2","repository_url":"https://github.com/dbatten/maison"},{"name":"narwhals","old_version":"2.13.0","new_version":"2.18.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.3.20","new_version":"3.5.21"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"rich-toolkit","old_version":"0.17.0","new_version":"0.19.7"},{"name":"ruyaml","old_version":"0.0.0","new_version":"0.91.0","repository_url":"https://github.com/pycontribs/ruyaml"},{"name":"sentry-sdk","old_version":"2.29.1","new_version":"2.54.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"triton","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"typer","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"typer-slim","old_version":"0.20.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"ukkonen","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/asottile/ukkonen"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"yamllint","old_version":"1.37.1","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 62 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.9` | `0.135.1` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.0` | `6.6.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.3` | `1.17.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| torch | `2.9.1` | `2.10.0+cpu` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.12.0` | `7.13.4` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.2` | `3.25.2` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.0` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.17` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.6` | `3.6.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.4` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.1` | `3.3.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.22` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.41.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.6` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.5` |\n| [fastapi-cli](https://github.com/fastapi/fastapi-cli) | `0.0.16` | `0.0.24` |\n| [flake8-simplify](https://github.com/MartinThoma/flake8-simplify) | `0.22.0` | `0.30.0` |\n| [gmpy2](https://github.com/gmpy2/gmpy2) | `2.2.1` | `2.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.0` | `8.7.1` |\n| [maison](https://github.com/dbatten/maison) | `2.0.0` | `2.0.2` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.13.0` | `2.18.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.3.20` | `3.5.21` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.24.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| rich-toolkit | `0.17.0` | `0.19.7` |\n| [ruyaml](https://github.com/pycontribs/ruyaml) | `0.0.0` | `0.91.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.29.1` | `2.54.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.5.1` | `3.6.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.24.1` |\n| [typer-slim](https://github.com/fastapi/typer) | `0.20.0` | `0.24.0` |\n| [ukkonen](https://github.com/asottile/ukkonen) | `1.0.1` | `1.1.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.19.0` | `1.19.1` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.1` | `1.38.0` |\n\n\nUpdates `fastapi` from 0.123.9 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\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✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\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 FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\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 FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\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 FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\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.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\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 \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\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🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\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.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.9...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.5.0 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.5.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.5.2] - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.5.1] - 2026-01-07\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.0...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.3 (Mar 9, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.3 is a patch release that fixes bugs discovered after the\n2.4.2 release. The most user visible fix may be a threading fix for\nOpenBLAS on ARM, closing issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 11 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAntareep Sarkar +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatthieu Darbois\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePeter Hawkins\u003c/li\u003e\n\u003cli\u003ePieter Eendebak\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003estratakis +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 14 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30759\"\u003e#30759\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30827\"\u003e#30827\u003c/a\u003e: BUG: Fix some leaks found via LeakSanitizer (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30756\"\u003e#30756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30841\"\u003e#30841\u003c/a\u003e: MAINT: Synchronize 2.4.x submodules with main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30849\"\u003e#30849\u003c/a\u003e: TYP: \u003ccode\u003ematlib\u003c/code\u003e: missing extended precision imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30850\"\u003e#30850\u003c/a\u003e: BUG: Fix weak hash function in np.isin(). (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30840\"\u003e#30840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30921\"\u003e#30921\u003c/a\u003e: BUG: fix infinite recursion in np.ma.flatten_structured_array...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30922\"\u003e#30922\u003c/a\u003e: BUG: Fix buffer overrun in CPU baseline validation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30877\"\u003e#30877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30923\"\u003e#30923\u003c/a\u003e: BUG: Fix busdaycalendar's handling of a bool array weekmask....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30924\"\u003e#30924\u003c/a\u003e: BUG: Fix reference leaks and NULL pointer dereferences (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30908\"\u003e#30908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30925\"\u003e#30925\u003c/a\u003e: MAINT: fix two minor issues noticed when touching the C API setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30955\"\u003e#30955\u003c/a\u003e: ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30957\"\u003e#30957\u003c/a\u003e: BUG: fix type issues in uses if PyDataType macros\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30958\"\u003e#30958\u003c/a\u003e: MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30973\"\u003e#30973\u003c/a\u003e: MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\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/numpy/numpy/commit/8bcb2e72e67c343e55165e6064fe6a9dc011e954\"\u003e\u003ccode\u003e8bcb2e7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30974\"\u003e#30974\u003c/a\u003e from charris/prepare-2.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9a2b5eef3b142e852c0092d449b2ea54e8d87314\"\u003e\u003ccode\u003e9a2b5ee\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a822ac28798a9a7ed1094879caaf885e282ccb6c\"\u003e\u003ccode\u003ea822ac2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30973\"\u003e#30973\u003c/a\u003e from charris/backport-30961\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/039bf549aad7ac149587884582e561f555ed770a\"\u003e\u003ccode\u003e039bf54\u003c/code\u003e\u003c/a\u003e MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/254bafa78941aa1ceb9f4680c9f07e9ec6bb94b0\"\u003e\u003ccode\u003e254bafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30955\"\u003e#30955\u003c/a\u003e from charris/backport-30879\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/0cc7d38c659741ddece03e59dad154bf3006bf49\"\u003e\u003ccode\u003e0cc7d38\u003c/code\u003e\u003c/a\u003e ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9ee571dee7982c1e8369148c1585a07e9bd878b8\"\u003e\u003ccode\u003e9ee571d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30957\"\u003e#30957\u003c/a\u003e from charris/backport-30918\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f302a1699020958b2ee02a3eb4177160f8153556\"\u003e\u003ccode\u003ef302a16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30958\"\u003e#30958\u003c/a\u003e from charris/backport-30938\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d240a09784a41e9f7b00de2d9d24b2a1d46d171b\"\u003e\u003ccode\u003ed240a09\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4fc08e9ebfd25530345fbd8f03bcd60fb7b0fbda\"\u003e\u003ccode\u003e4fc08e9\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.16.3 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\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.16.3...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.9.1 to 2.10.0+cpu\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 `coverage` from 7.12.0 to 7.13.4\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.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4f78d57f83ff8a4976043e8a8fcea24b91891840\"\u003e\u003ccode\u003e4f78d57\u003c/code\u003e\u003c/a\u003e build: no need to publish status.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f8616ff5e6386648aa40300e36c6cecda79a1faa\"\u003e\u003ccode\u003ef8616ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fcf8c68db986970e6000bf75ec3c3115ede867df\"\u003e\u003ccode\u003efcf8c68\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/189ecfd000867e5c74e7d74ee3bd75742d5d584d\"\u003e\u003ccode\u003e189ecfd\u003c/code\u003e\u003c/a\u003e docs: thanks Pankhudi Jain for ppc64le wheels \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/58aade0eb92d9d1e3755c65a5cf7a951e7bd6c6a\"\u003e\u003ccode\u003e58aade0\u003c/code\u003e\u003c/a\u003e build: add support for ppc64le architecture (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ea42c874fbfc96535156300225bda22bc93ac68\"\u003e\u003ccode\u003e8ea42c8\u003c/code\u003e\u003c/a\u003e chore: bump actions/attest-build-provenance (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c09595f70758b78156efbd7c8f034799d09322aa\"\u003e\u003ccode\u003ec09595f\u003c/code\u003e\u003c/a\u003e docs: Janine put a lot of effort into debugging issue \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2128\"\u003e#2128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ee1760f40b8822aa2b11ff95ab63481be68a8a0\"\u003e\u003ccode\u003e8ee1760\u003c/code\u003e\u003c/a\u003e docs: Greg wrote a great issue: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003e#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/76ba0437611fc2787cb0450dc94b02bc2848fdee\"\u003e\u003ccode\u003e76ba043\u003c/code\u003e\u003c/a\u003e docs: thanks, Noah Fatsi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/371fcc5727e9d8fba816061756af94646b4bcfbb\"\u003e\u003ccode\u003e371fcc5\u003c/code\u003e\u003c/a\u003e fix: set fixed paths_list in TreeMatcher init (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.12.0...7.13.4\"\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.2 to 3.25.2\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.25.2\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): suppress EIO on close in Docker bind mounts 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/513\"\u003etox-dev/filelock#513\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.25.1...3.25.2\"\u003ehttps://github.com/tox-dev/filelock/compare/3.25.1...3.25.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(logo): add branded project logo 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/507\"\u003etox-dev/filelock#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): restore best-effort lock file cleanup on release by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/511\"\u003etox-dev/filelock#511\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.25.0...3.25.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.25.0...3.25.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to check workflow 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/500\"\u003etox-dev/filelock#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/501\"\u003etox-dev/filelock#501\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/tox-dev/filelock/pull/504\"\u003etox-dev/filelock#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock 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/506\"\u003etox-dev/filelock#506\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.4...3.25.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.4...3.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress ValueError in _try_break_stale_lock for corrupted lock files by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ValueError in _acquire_transaction_lock when blocking=False with timeout 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/498\"\u003etox-dev/filelock#498\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/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\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.3...3.24.4\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.3...3.24.4\u003c/a\u003e\u003c/p\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\u003c!-- 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.25.2 (2026-03-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): suppress EIO on close in Docker bind mounts :pr:\u003ccode\u003e513\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.25.1 (2026-03-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e510\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): restore best-effort lock file cleanup on release :pr:\u003ccode\u003e511\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e508\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(logo): add branded project logo :pr:\u003ccode\u003e507\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.25.0 (2026-03-01)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock :pr:\u003ccode\u003e506\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7 to 8 :pr:\u003ccode\u003e503\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6 to 7 :pr:\u003ccode\u003e502\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md\u003c/li\u003e\n\u003cli\u003eAdd security policy\u003c/li\u003e\n\u003cli\u003eAdd permissions to check workflow :pr:\u003ccode\u003e500\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e499\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/5b9872c523b20db569d8832da4fb640e9c175ce6\"\u003e\u003ccode\u003e5b9872c\u003c/code\u003e\u003c/a\u003e Release 3.25.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/42b740aa076e81332402a16244c7cea60ac78851\"\u003e\u003ccode\u003e42b740a\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): suppress EIO on close in Docker bind mounts (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/d8b04b5018932f53b3d2743fadac507dd616af5c\"\u003e\u003ccode\u003ed8b04b5\u003c/code\u003e\u003c/a\u003e Release 3.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0633386072b71dfd27c6799323aecca45fb6a094\"\u003e\u003ccode\u003e0633386\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/7f2247d81bc8eab802821cd40437a61c40368d17\"\u003e\u003ccode\u003e7f2247d\u003c/code\u003e\u003c/a\u003e 🐛 fix(win): restore best-effort lock file cleanup on release (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5ae1c4e36548fc0ff6e24a26cb4187b65f2cdccb\"\u003e\u003ccode\u003e5ae1c4e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/508\"\u003e#508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bcffcfea7a8f616968e7cc45c047cc0d4142a064\"\u003e\u003ccode\u003ebcffcfe\u003c/code\u003e\u003c/a\u003e 📝 docs(logo): add branded project logo (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/7f195d9f06e8a96ac7226133a56df41571782183\"\u003e\u003ccode\u003e7f195d9\u003c/code\u003e\u003c/a\u003e Release 3.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df2754eb4ea2e6e8b7d6fb54896d17163dcd2745\"\u003e\u003ccode\u003edf2754e\u003c/code\u003e\u003c/a\u003e ✨ feat(async): add AsyncReadWriteLock (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8a359c54746ae8252b27b0198c125b741908d88e\"\u003e\u003ccode\u003e8a359c5\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.2...3.25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\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/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.61.1 to 4.62.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the \u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also decouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data before compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc behavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of emitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the same encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG paths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4042\"\u003e#4042\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4043\"\u003e#4043\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glifLib] Fix regression reading glyph outlines when \u003ccode\u003eglyphObject=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4030\"\u003e#4030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4031\"\u003e#4031\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[pointPen] Fix \u003ccode\u003eSegmentToPointPen\u003c/code\u003e edge case: only remove a duplicate final point on \u003ccode\u003eclosePath()\u003c/code\u003e if it is an on-curve point (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4014\"\u003e#4014\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4015\"\u003e#4015\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cffLib] \u003cstrong\u003eSECURITY\u003c/strong\u003e Replace \u003ccode\u003eeval()\u003c/code\u003e with \u003ccode\u003esafeEval()\u003c/code\u003e in \u003ccode\u003eparseBlendList()\u003c/code\u003e to prevent arbitrary code ex...\n\n_Description has been truncated_","html_url":"https://github.com/pcalnon/juniper-canopy/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcalnon%2Fjuniper-canopy/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4011839530","node_id":"PR_kwDORVpyr87HXHMs","number":10,"state":"open","title":"deps: bump the python-minor group across 1 directory with 59 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-03-02T15:24:36.000Z","updated_at":"2026-03-02T15:24:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":59,"packages":[{"name":"fastapi","old_version":"0.123.9","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"plotly","old_version":"6.5.0","new_version":"6.5.2","repository_url":"https://github.com/plotly/plotly.py"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"scipy","old_version":"1.16.3","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"torch","old_version":"2.9.1","new_version":"2.10.0+cpu"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"coverage","old_version":"7.12.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"filelock","old_version":"3.20.2","new_version":"3.25.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.17","repository_url":"https://github.com/pre-commit/identify"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"networkx","old_version":"3.6","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"pillow","old_version":"12.1.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pyparsing","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"fastapi-cli","old_version":"0.0.16","new_version":"0.0.24","repository_url":"https://github.com/fastapi/fastapi-cli"},{"name":"flake8-simplify","old_version":"0.22.0","new_version":"0.30.0","repository_url":"https://github.com/MartinThoma/flake8-simplify"},{"name":"gmpy2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/gmpy2/gmpy2"},{"name":"importlib-metadata","old_version":"8.7.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"maison","old_version":"2.0.0","new_version":"2.0.2","repository_url":"https://github.com/dbatten/maison"},{"name":"narwhals","old_version":"2.13.0","new_version":"2.17.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.19.0.56"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.3"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.3.20","new_version":"3.5.21"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"rich-toolkit","old_version":"0.17.0","new_version":"0.19.7"},{"name":"ruyaml","old_version":"0.0.0","new_version":"0.91.0","repository_url":"https://github.com/pycontribs/ruyaml"},{"name":"sentry-sdk","old_version":"2.29.1","new_version":"2.54.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"triton","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"typer","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"typer-slim","old_version":"0.20.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"ukkonen","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/asottile/ukkonen"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"yamllint","old_version":"1.37.1","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 59 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.9` | `0.135.1` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.0` | `6.5.2` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.3` | `1.17.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| torch | `2.9.1` | `2.10.0+cpu` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.12.0` | `7.13.4` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.2` | `3.25.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.17` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.6` | `3.6.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.1` | `3.3.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.22` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.41.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.6` |\n| [fastapi-cli](https://github.com/fastapi/fastapi-cli) | `0.0.16` | `0.0.24` |\n| [flake8-simplify](https://github.com/MartinThoma/flake8-simplify) | `0.22.0` | `0.30.0` |\n| [gmpy2](https://github.com/gmpy2/gmpy2) | `2.2.1` | `2.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.0` | `8.7.1` |\n| [maison](https://github.com/dbatten/maison) | `2.0.0` | `2.0.2` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.13.0` | `2.17.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.19.0.56` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.3` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.3.20` | `3.5.21` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.24.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| rich-toolkit | `0.17.0` | `0.19.7` |\n| [ruyaml](https://github.com/pycontribs/ruyaml) | `0.0.0` | `0.91.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.29.1` | `2.54.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.5.1` | `3.6.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.24.1` |\n| [typer-slim](https://github.com/fastapi/typer) | `0.20.0` | `0.24.0` |\n| [ukkonen](https://github.com/asottile/ukkonen) | `1.0.1` | `1.1.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.19.0` | `1.19.1` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.1` | `1.38.0` |\n\n\nUpdates `fastapi` from 0.123.9 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\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✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\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 FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\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 FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\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 FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\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.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\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 \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\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🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\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.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.9...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.5.0 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.5.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.5.2] - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.5.1] - 2026-01-07\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/36d8bf845054430b8867e02961b14fc908d789c4\"\u003e\u003ccode\u003e36d8bf8\u003c/code\u003e\u003c/a\u003e Version changes for v6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1f45fa57d9e748c051864a1d25fe1e4f3d451e3e\"\u003e\u003ccode\u003e1f45fa5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5467\"\u003e#5467\u003c/a\u003e from plotly/cam/update-graph-objs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7f57ccb94e42040e55357e85bb5d3b0b4a675469\"\u003e\u003ccode\u003e7f57ccb\u003c/code\u003e\u003c/a\u003e fix: Update graph_objs per recent bug fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/3293f4db2a3cd10c9b2e03398e0890967a509c3b\"\u003e\u003ccode\u003e3293f4d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5466\"\u003e#5466\u003c/a\u003e from plotly/merge-doc-prod-to-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/61c9f6fdabd6dae72ec33310cc07127796e68c6d\"\u003e\u003ccode\u003e61c9f6f\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into merge-doc-prod-to-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/dad25200d54c8713790c43d00b1aa88fecb451b6\"\u003e\u003ccode\u003edad2520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5465\"\u003e#5465\u003c/a\u003e from my-tien/legend-arrayok\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/b5874286fded3309c2794ad7675f33b792bec8df\"\u003e\u003ccode\u003eb587428\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into legend-arrayok\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5a0440c178d2f59d7f993fae00a59d4c681157db\"\u003e\u003ccode\u003e5a0440c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5464\"\u003e#5464\u003c/a\u003e from plotly/cam/5463/handle-arrays-booleanvalidator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/fff298cf973fbe82eb1cd0adf71084002d3fc2b2\"\u003e\u003ccode\u003efff298c\u003c/code\u003e\u003c/a\u003e Simplify test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cef18a9d95d22614e5e660ba6722645defaf7fe1\"\u003e\u003ccode\u003ecef18a9\u003c/code\u003e\u003c/a\u003e Separate test for coercion of geo1 to geo and legend1 to legend\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.0...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30629\"\u003e#30629\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\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/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.16.3 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\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.16.3...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.9.1 to 2.10.0+cpu\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 `coverage` from 7.12.0 to 7.13.4\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.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4f78d57f83ff8a4976043e8a8fcea24b91891840\"\u003e\u003ccode\u003e4f78d57\u003c/code\u003e\u003c/a\u003e build: no need to publish status.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f8616ff5e6386648aa40300e36c6cecda79a1faa\"\u003e\u003ccode\u003ef8616ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fcf8c68db986970e6000bf75ec3c3115ede867df\"\u003e\u003ccode\u003efcf8c68\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/189ecfd000867e5c74e7d74ee3bd75742d5d584d\"\u003e\u003ccode\u003e189ecfd\u003c/code\u003e\u003c/a\u003e docs: thanks Pankhudi Jain for ppc64le wheels \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/58aade0eb92d9d1e3755c65a5cf7a951e7bd6c6a\"\u003e\u003ccode\u003e58aade0\u003c/code\u003e\u003c/a\u003e build: add support for ppc64le architecture (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ea42c874fbfc96535156300225bda22bc93ac68\"\u003e\u003ccode\u003e8ea42c8\u003c/code\u003e\u003c/a\u003e chore: bump actions/attest-build-provenance (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c09595f70758b78156efbd7c8f034799d09322aa\"\u003e\u003ccode\u003ec09595f\u003c/code\u003e\u003c/a\u003e docs: Janine put a lot of effort into debugging issue \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2128\"\u003e#2128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ee1760f40b8822aa2b11ff95ab63481be68a8a0\"\u003e\u003ccode\u003e8ee1760\u003c/code\u003e\u003c/a\u003e docs: Greg wrote a great issue: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003e#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/76ba0437611fc2787cb0450dc94b02bc2848fdee\"\u003e\u003ccode\u003e76ba043\u003c/code\u003e\u003c/a\u003e docs: thanks, Noah Fatsi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/371fcc5727e9d8fba816061756af94646b4bcfbb\"\u003e\u003ccode\u003e371fcc5\u003c/code\u003e\u003c/a\u003e fix: set fixed paths_list in TreeMatcher init (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.12.0...7.13.4\"\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.2 to 3.25.0\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.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to check workflow 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/500\"\u003etox-dev/filelock#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/501\"\u003etox-dev/filelock#501\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/tox-dev/filelock/pull/504\"\u003etox-dev/filelock#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock 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/506\"\u003etox-dev/filelock#506\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.4...3.25.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.4...3.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress ValueError in _try_break_stale_lock for corrupted lock files by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ValueError in _acquire_transaction_lock when blocking=False with timeout 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/498\"\u003etox-dev/filelock#498\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/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\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.3...3.24.4\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.3...3.24.4\u003c/a\u003e\u003c/p\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\u003c!-- 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.25.0 (2026-03-01)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock :pr:\u003ccode\u003e506\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7 to 8 :pr:\u003ccode\u003e503\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6 to 7 :pr:\u003ccode\u003e502\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md\u003c/li\u003e\n\u003cli\u003eAdd security policy\u003c/li\u003e\n\u003cli\u003eAdd permissions to check workflow :pr:\u003ccode\u003e500\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e499\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/7f195d9f06e8a96ac7226133a56df41571782183\"\u003e\u003ccode\u003e7f195d9\u003c/code\u003e\u003c/a\u003e Release 3.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df2754eb4ea2e6e8b7d6fb54896d17163dcd2745\"\u003e\u003ccode\u003edf2754e\u003c/code\u003e\u003c/a\u003e ✨ feat(async): add AsyncReadWriteLock (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8a359c54746ae8252b27b0198c125b741908d88e\"\u003e\u003ccode\u003e8a359c5\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/9e7b33d9e0782c7c90407017a3c529d1a7dea965\"\u003e\u003ccode\u003e9e7b33d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5fe68363fa2cb80ab67a044b5d67280108c35167\"\u003e\u003ccode\u003e5fe6836\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/502\"\u003e#502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/af265f9d068d4a0489953e39664aeaa684e44993\"\u003e\u003ccode\u003eaf265f9\u003c/code\u003e\u003c/a\u003e Move SECURITY.md to .github/SECURITY.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/67a5569548f059a2c2b54febe64e2a355ef40f39\"\u003e\u003ccode\u003e67a5569\u003c/code\u003e\u003c/a\u003e Add security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/4b8c2610179f0bac9aac0be0532640325d1f69e1\"\u003e\u003ccode\u003e4b8c261\u003c/code\u003e\u003c/a\u003e Add permissions to check workflow (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/500\"\u003e#500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e749d66461e0ea841526defab8166e265a6a63d1\"\u003e\u003ccode\u003ee749d66\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/499\"\u003e#499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/721b37bcbdb4c431441fa8e5d9377cf9f0e059f2\"\u003e\u003ccode\u003e721b37b\u003c/code\u003e\u003c/a\u003e Fix ValueError in _acquire_transaction_lock when blocking=False with timeout ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.2...3.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\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/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `identify` from 2.6.15 to 2.6.17\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/bc5fa61c309981c6d9aa7851773b88924c03fddb\"\u003e\u003ccode\u003ebc5fa61\u003c/code\u003e\u003c/a\u003e v2.6.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c866be72cb7c3cabded161df887ca74d780fa3aa\"\u003e\u003ccode\u003ec866be7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/563\"\u003e#563\u003c/a\u003e from seanbudd/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c20eeb54065cf37be59bfa08d4d4674055d7c640\"\u003e\u003ccode\u003ec20eeb5\u003c/code\u003e\u003c/a\u003e Add support for sconstruct and sconscript extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/8f024420daefcecc98fe6f05c8322cc6d57abd8a\"\u003e\u003ccode\u003e8f02442\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/577\"\u003e#577\u003c/a\u003e from andykernahan/add-slnx\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a10759d55ed831589dc92d27818c2975430553a9\"\u003e\u003ccode\u003ea10759d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/571\"\u003e#571\u003c/a\u003e from petamas/add-entitlements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/749d18503023f5dab661fc87c21f75151f37b95c\"\u003e\u003ccode\u003e749d185\u003c/code\u003e\u003c/a\u003e Add support for 'slnx' file extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a4ed2cac61ddee9f302a899f5b79edef7b357b54\"\u003e\u003ccode\u003ea4ed2ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/560\"\u003e#560\u003c/a\u003e from sebastiw/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/53e33c638508edae652ac1517c474dc7f70a1fd8\"\u003e\u003ccode\u003e53e33c6\u003c/code\u003e\u003c/a\u003e Add 'escript' file type for Erlang\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/50e032f766a6df71ceb2de4fae0d3643af6551a4\"\u003e\u003ccode\u003e50e032f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/574\"\u003e#574\u003c/a\u003e from petamas/add-diff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/93f1aa65b42af000df874bec3a01c645d5782c50\"\u003e\u003ccode\u003e93f1aa6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/569\"\u003e#569\u003c/a\u003e from petamas/add-uv-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/identify/compare/v2.6.15...v2.6.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mpmath` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mpmath/mpmath/releases\"\u003empmath's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport underscores as digit separators per PEP 515, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/661\"\u003e#661\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd rationals converter for mpf's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/666\"\u003e#666\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRewrite bernpoly/eulerpoly to avoid dependency on bernoulli(1) convention, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/700\"\u003e#700\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport base kwarg for from_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/703\"\u003e#703\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport randmatrix() for mp.iv and mp contexts, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/527\"\u003e#527\u003c/a\u003e (Maximilian Gaukler)\u003c/li\u003e\n\u003cli\u003eAdded rank() function for matrices, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/610\"\u003e#610\u003c/a\u003e (Jan-Philipp Hoffmann)\u003c/li\u003e\n\u003cli\u003eAdd plus flag to select the B_1 sign convention for bernoulli/bernfrac, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/724\"\u003e#724\u003c/a\u003e (Jeremy Tan Jie Rui, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpf.as_integer_ratio() method, support construction of mpf from Decimal objects, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/731\"\u003e#731\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eExpose lower/upper_gamma functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/740\"\u003e#740\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport mpc initialization from string, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/743\"\u003e#743\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport asinh/acosh/atanh in the fp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/750\"\u003e#750\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport binary/octal/hexadecimal string output, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/711\"\u003e#711\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport pickling for matrices and mpi, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/761\"\u003e#761\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport matrix.__array__() dunder method, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/767\"\u003e#767\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport more number syntaxes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/778\"\u003e#778\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRun mpmath as a module for interactive work, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/773\"\u003e#773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/923\"\u003e#923\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/931\"\u003e#931\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/939\"\u003e#939\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/954\"\u003e#954\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd signed option to to_man_exp(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/783\"\u003e#783\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd fp.hypot, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/798\"\u003e#798\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport inf/nan's in ctx.almosteq(), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/802\"\u003e#802\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.__format__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/819\"\u003e#819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/850\"\u003e#850\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/859\"\u003e#859\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/857\"\u003e#857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/881\"\u003e#881\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/944\"\u003e#944\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport conversion from scalar ndarray's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/821\"\u003e#821\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding modes in mpf.__format__, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/823\"\u003e#823\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/834\"\u003e#834\u003c/a\u003e and \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/pcalnon/juniper-canopy/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcalnon%2Fjuniper-canopy/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"3994298458","node_id":"PR_kwDORVpyr87GemMH","number":4,"state":"closed","title":"deps: bump the python-minor group with 56 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-27T09:25:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-26T09:16:03.000Z","updated_at":"2026-02-27T09:25:52.000Z","time_to_close":86987,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":56,"packages":[{"name":"torch","old_version":"2.9.1","new_version":"2.10.0+cpu"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"coverage","old_version":"7.12.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"fastapi","old_version":"0.123.9","new_version":"0.133.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"filelock","old_version":"3.20.2","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.16","repository_url":"https://github.com/pre-commit/identify"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"networkx","old_version":"3.6","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"12.1.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"plotly","old_version":"6.5.0","new_version":"6.5.2","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pyparsing","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"scipy","old_version":"1.16.3","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"fastapi-cli","old_version":"0.0.16","new_version":"0.0.24","repository_url":"https://github.com/fastapi/fastapi-cli"},{"name":"flake8-simplify","old_version":"0.22.0","new_version":"0.30.0","repository_url":"https://github.com/MartinThoma/flake8-simplify"},{"name":"gmpy2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/gmpy2/gmpy2"},{"name":"importlib-metadata","old_version":"8.7.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"maison","old_version":"2.0.0","new_version":"2.0.2","repository_url":"https://github.com/dbatten/maison"},{"name":"narwhals","old_version":"2.13.0","new_version":"2.17.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.19.0.56"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.3"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.3.20","new_version":"3.5.19"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"rich-toolkit","old_version":"0.17.0","new_version":"0.19.7"},{"name":"ruyaml","old_version":"0.0.0","new_version":"0.91.0","repository_url":"https://github.com/pycontribs/ruyaml"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"triton","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"typer","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"typer-slim","old_version":"0.20.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"ukkonen","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/asottile/ukkonen"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"yamllint","old_version":"1.37.1","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| torch | `2.9.1` | `2.10.0+cpu` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.12.0` | `7.13.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.9` | `0.133.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.2` | `3.24.3` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.16` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.6` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.0` | `6.5.2` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.1` | `3.3.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.22` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.3` | `1.17.1` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.41.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.6` |\n| [fastapi-cli](https://github.com/fastapi/fastapi-cli) | `0.0.16` | `0.0.24` |\n| [flake8-simplify](https://github.com/MartinThoma/flake8-simplify) | `0.22.0` | `0.30.0` |\n| [gmpy2](https://github.com/gmpy2/gmpy2) | `2.2.1` | `2.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.0` | `8.7.1` |\n| [maison](https://github.com/dbatten/maison) | `2.0.0` | `2.0.2` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.13.0` | `2.17.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.19.0.56` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.3` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.3.20` | `3.5.19` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| rich-toolkit | `0.17.0` | `0.19.7` |\n| [ruyaml](https://github.com/pycontribs/ruyaml) | `0.0.0` | `0.91.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.5.1` | `3.6.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.24.1` |\n| [typer-slim](https://github.com/fastapi/typer) | `0.20.0` | `0.24.0` |\n| [ukkonen](https://github.com/asottile/ukkonen) | `1.0.1` | `1.1.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.19.0` | `1.19.1` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.1` | `1.38.0` |\n\nUpdates `torch` from 2.9.1 to 2.10.0+cpu\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 `coverage` from 7.12.0 to 7.13.4\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.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4f78d57f83ff8a4976043e8a8fcea24b91891840\"\u003e\u003ccode\u003e4f78d57\u003c/code\u003e\u003c/a\u003e build: no need to publish status.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f8616ff5e6386648aa40300e36c6cecda79a1faa\"\u003e\u003ccode\u003ef8616ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fcf8c68db986970e6000bf75ec3c3115ede867df\"\u003e\u003ccode\u003efcf8c68\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/189ecfd000867e5c74e7d74ee3bd75742d5d584d\"\u003e\u003ccode\u003e189ecfd\u003c/code\u003e\u003c/a\u003e docs: thanks Pankhudi Jain for ppc64le wheels \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/58aade0eb92d9d1e3755c65a5cf7a951e7bd6c6a\"\u003e\u003ccode\u003e58aade0\u003c/code\u003e\u003c/a\u003e build: add support for ppc64le architecture (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ea42c874fbfc96535156300225bda22bc93ac68\"\u003e\u003ccode\u003e8ea42c8\u003c/code\u003e\u003c/a\u003e chore: bump actions/attest-build-provenance (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c09595f70758b78156efbd7c8f034799d09322aa\"\u003e\u003ccode\u003ec09595f\u003c/code\u003e\u003c/a\u003e docs: Janine put a lot of effort into debugging issue \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2128\"\u003e#2128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ee1760f40b8822aa2b11ff95ab63481be68a8a0\"\u003e\u003ccode\u003e8ee1760\u003c/code\u003e\u003c/a\u003e docs: Greg wrote a great issue: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003e#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/76ba0437611fc2787cb0450dc94b02bc2848fdee\"\u003e\u003ccode\u003e76ba043\u003c/code\u003e\u003c/a\u003e docs: thanks, Noah Fatsi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/371fcc5727e9d8fba816061756af94646b4bcfbb\"\u003e\u003ccode\u003e371fcc5\u003c/code\u003e\u003c/a\u003e fix: set fixed paths_list in TreeMatcher init (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.12.0...7.13.4\"\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.9 to 0.133.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\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.133.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Add support for Starlette 1.0.0+. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14987\"\u003e#14987\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.132.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Refactor logic to handle OpenAPI and Swagger UI escaping data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14986\"\u003e#14986\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 FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14972\"\u003e#14972\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👷 Allow skipping \u003ccode\u003ebenchmark\u003c/code\u003e job in \u003ccode\u003etest\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14974\"\u003e#14974\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.132.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔒️ Add \u003ccode\u003estrict_content_type\u003c/code\u003e checking for JSON requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14978\"\u003e#14978\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNow FastAPI checks, by default, that JSON requests have a \u003ccode\u003eContent-Type\u003c/code\u003e header with a valid JSON value, like \u003ccode\u003eapplication/json\u003c/code\u003e, and rejects requests that don't.\u003c/li\u003e\n\u003cli\u003eIf the clients for your app don't send a valid \u003ccode\u003eContent-Type\u003c/code\u003e header you can disable this with \u003ccode\u003estrict_content_type=False\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCheck the new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/strict-content-type/\"\u003eStrict Content-Type Checking\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump flask from 3.1.2 to 3.1.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14949\"\u003e#14949\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Update all dependencies to use \u003ccode\u003egriffelib\u003c/code\u003e instead of \u003ccode\u003egriffe\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14973\"\u003e#14973\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Fix \u003ccode\u003eFastAPI People\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14951\"\u003e#14951\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👷 Do not run codspeed with coverage as it's not tracked. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14966\"\u003e#14966\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👷 Do not include benchmark tests in coverage to speed up coverage processing. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14965\"\u003e#14965\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.131.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🗑️ Deprecate \u003ccode\u003eORJSONResponse\u003c/code\u003e and \u003ccode\u003eUJSONResponse\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14964\"\u003e#14964\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.130.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14962\"\u003e#14962\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/a4ad07b48aa4dca35c3325ec2fe5485676a542c8\"\u003e\u003ccode\u003ea4ad07b\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/728b097564f8cd70fc9541a6b1b0bc8d20926ede\"\u003e\u003ccode\u003e728b097\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.133.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/84a8760a80d6b24a9a67f10f2e16e57a527aec0f\"\u003e\u003ccode\u003e84a8760\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4d78ca6f95297e86a7873ccbcd418354e46876a0\"\u003e\u003ccode\u003e4d78ca6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4fce9ce17291423baf68b5ffb7a01a8f344bf08f\"\u003e\u003ccode\u003e4fce9ce\u003c/code\u003e\u003c/a\u003e 🔧 Add FastAPI Agents Skill (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14982\"\u003e#14982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2b476737b8ed6aa8a42acd5a8e912656d08f15de\"\u003e\u003ccode\u003e2b47673\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1fa1065f9e998f6e7baac52391b61132696c1de7\"\u003e\u003ccode\u003e1fa1065\u003c/code\u003e\u003c/a\u003e ✅ Fix all tests are skipped on Windows (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14994\"\u003e#14994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/daba0aa328c862dd15589ea5e3157e07aaa9679d\"\u003e\u003ccode\u003edaba0aa\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.133.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/0c3581d5c45dd7603b01a2401c7783a2abfb362e\"\u003e\u003ccode\u003e0c3581d\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c73bc945374cdabc6ce84bff7b172a2e7056350e\"\u003e\u003ccode\u003ec73bc94\u003c/code\u003e\u003c/a\u003e ⬆️ Add support for Starlette 1.0.0+ (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14987\"\u003e#14987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.9...0.133.1\"\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.2 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.2...3.24.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\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/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `identify` from 2.6.15 to 2.6.16\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/e31a62bc9f952165a259f30abcf13593fff3d128\"\u003e\u003ccode\u003ee31a62b\u003c/code\u003e\u003c/a\u003e v2.6.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/de8beb6c08e969fe1a6e7ac40562377f091d5414\"\u003e\u003ccode\u003ede8beb6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/558\"\u003e#558\u003c/a\u003e from seanbudd/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/b5574acd3dd338bfe208c0098a90a416e2e2d47a\"\u003e\u003ccode\u003eb5574ac\u003c/code\u003e\u003c/a\u003e Add support for '.xliff' file extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/059831f59cb4547b1f1a8b6903fb4050e6d4c99b\"\u003e\u003ccode\u003e059831f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/555\"\u003e#555\u003c/a\u003e from Roxedus/feat/ipxe\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/7e6b5418212f382255b890d51eabc86beacf778b\"\u003e\u003ccode\u003e7e6b541\u003c/code\u003e\u003c/a\u003e Add .ipxe extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/9e787921be557b6a2d836439add7f227e004e7e2\"\u003e\u003ccode\u003e9e78792\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/554\"\u003e#554\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a35c416b4e246e47381cfafa775ae5f05b1d0d04\"\u003e\u003ccode\u003ea35c416\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/5cab69e4fd737a925f5e69d99bd62c3367106e99\"\u003e\u003ccode\u003e5cab69e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/553\"\u003e#553\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c8edd7e6461ce5e05273806cec424b981fdac34c\"\u003e\u003ccode\u003ec8edd7e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/47d582b18cd7621f33fe5f60d551a66600c1dcfb\"\u003e\u003ccode\u003e47d582b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/551\"\u003e#551\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/identify/compare/v2.6.15...v2.6.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mpmath` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mpmath/mpmath/releases\"\u003empmath's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport underscores as digit separators per PEP 515, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/661\"\u003e#661\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd rationals converter for mpf's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/666\"\u003e#666\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRewrite bernpoly/eulerpoly to avoid dependency on bernoulli(1) convention, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/700\"\u003e#700\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport base kwarg for from_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/703\"\u003e#703\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport randmatrix() for mp.iv and mp contexts, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/527\"\u003e#527\u003c/a\u003e (Maximilian Gaukler)\u003c/li\u003e\n\u003cli\u003eAdded rank() function for matrices, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/610\"\u003e#610\u003c/a\u003e (Jan-Philipp Hoffmann)\u003c/li\u003e\n\u003cli\u003eAdd plus flag to select the B_1 sign convention for bernoulli/bernfrac, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/724\"\u003e#724\u003c/a\u003e (Jeremy Tan Jie Rui, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpf.as_integer_ratio() method, support construction of mpf from Decimal objects, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/731\"\u003e#731\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eExpose lower/upper_gamma functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/740\"\u003e#740\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport mpc initialization from string, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/743\"\u003e#743\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport asinh/acosh/atanh in the fp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/750\"\u003e#750\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport binary/octal/hexadecimal string output, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/711\"\u003e#711\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport pickling for matrices and mpi, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/761\"\u003e#761\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport matrix.__array__() dunder method, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/767\"\u003e#767\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport more number syntaxes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/778\"\u003e#778\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRun mpmath as a module for interactive work, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/773\"\u003e#773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/923\"\u003e#923\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/931\"\u003e#931\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/939\"\u003e#939\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/954\"\u003e#954\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd signed option to to_man_exp(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/783\"\u003e#783\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd fp.hypot, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/798\"\u003e#798\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport inf/nan's in ctx.almosteq(), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/802\"\u003e#802\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.__format__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/819\"\u003e#819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/850\"\u003e#850\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/859\"\u003e#859\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/857\"\u003e#857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/881\"\u003e#881\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/944\"\u003e#944\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport conversion from scalar ndarray's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/821\"\u003e#821\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding modes in mpf.__format__, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/823\"\u003e#823\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/834\"\u003e#834\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/969\"\u003e#969\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport '%' presentation type for mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/847\"\u003e#847\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport gmpy2-like rounding modes in to_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/830\"\u003e#830\u003c/a\u003e (Javier Garcia)\u003c/li\u003e\n\u003cli\u003eImplement 'a'/'A' formating types for mpf.__format__, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/841\"\u003e#841\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/870\"\u003e#870\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpc.__format__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/855\"\u003e#855\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eNow mpf.__round__() returns mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/826\"\u003e#826\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport 'b' (binary) format type for mpf/mpc, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/867\"\u003e#867\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.__floordiv__() and mpf.__divmod__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/873\"\u003e#873\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd parameters for MPContext constructor, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/876\"\u003e#876\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/963\"\u003e#963\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd MPFR-compatible aliases for rounding modes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/892\"\u003e#892\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport negative indexes in matrix, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/897\"\u003e#897\u003c/a\u003e (Riccardo Orsi)\u003c/li\u003e\n\u003cli\u003eBetter introspection support for decorated functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/900\"\u003e#900\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd moving sofa demo, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/924\"\u003e#924\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport spherical Bessel functions (jn/yn), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/935\"\u003e#935\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd pretty_dps context property to control number of printed digits, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/933\"\u003e#933\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport thousands separators for formatting of fractional part, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/925\"\u003e#925\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eUse PyREPL, as fallback (no IPython), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/941\"\u003e#941\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd exp2() and log2(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/948\"\u003e#948\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding property for the mp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/963\"\u003e#963\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd Fox H-function with rational A/B parameters (foxh()), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/982\"\u003e#982\u003c/a\u003e (Hongren Zheng)\u003c/li\u003e\n\u003cli\u003eProvide experimental support for free-threading builds, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/993\"\u003e#993\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 2 support, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/629\"\u003e#629\u003c/a\u003e (Fangchen Li)\u003c/li\u003e\n\u003cli\u003eDrop support for Python versions \u0026lt; 3.9, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/675\"\u003e#675\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/911\"\u003e#911\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/mpmath/mpmath/blob/master/CHANGES\"\u003empmath's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e--1.4.0--\nReleased February 23, 2026\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport underscores as digit separators per PEP 515, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/661\"\u003e#661\u003c/a\u003e (Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eAdd rationals converter for mpf's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/666\"\u003e#666\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRewrite bernpoly/eulerpoly to avoid dependency on bernoulli(1) convention,\nsee \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/700\"\u003e#700\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport base kwarg for from_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/703\"\u003e#703\u003c/a\u003e (Jonathan Warner, Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eSupport randmatrix() for mp.iv and mp contexts, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/527\"\u003e#527\u003c/a\u003e (Maximilian\nGaukler)\u003c/li\u003e\n\u003cli\u003eAdded rank() function for matrices, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/610\"\u003e#610\u003c/a\u003e (Jan-Philipp Hoffmann)\u003c/li\u003e\n\u003cli\u003eAdd plus flag to select the B_1 sign convention for bernoulli/bernfrac, see\n\u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/724\"\u003e#724\u003c/a\u003e (Jeremy Tan Jie Rui, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpf.as_integer_ratio() method, support construction of mpf from Decimal\nobjects, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/731\"\u003e#731\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eExpose lower/upper_gamma functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/740\"\u003e#740\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport mpc initialization from string, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/743\"\u003e#743\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport asinh/acosh/atanh in the fp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/750\"\u003e#750\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport binary/octal/hexadecimal string output, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/711\"\u003e#711\u003c/a\u003e (Jonathan Warner,\nSergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport pickling for matrices and mpi, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/761\"\u003e#761\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport matrix.\u003cstrong\u003earray\u003c/strong\u003e() dunder method, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/767\"\u003e#767\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport more number syntaxes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/778\"\u003e#778\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRun mpmath as a module for interactive work, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/773\"\u003e#773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/923\"\u003e#923\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/931\"\u003e#931\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/939\"\u003e#939\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/954\"\u003e#954\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd signed option to to_man_exp(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/783\"\u003e#783\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd fp.hypot, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/798\"\u003e#798\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport inf/nan's in ctx.almosteq(), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/802\"\u003e#802\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.\u003cstrong\u003eformat\u003c/strong\u003e(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/819\"\u003e#819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/850\"\u003e#850\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/859\"\u003e#859\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/857\"\u003e#857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/881\"\u003e#881\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/944\"\u003e#944\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport conversion from scalar ndarray's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/821\"\u003e#821\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding modes in mpf.\u003cstrong\u003eformat\u003c/strong\u003e, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/823\"\u003e#823\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/834\"\u003e#834\u003c/a\u003e\nand \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/969\"\u003e#969\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport '%' presentation type for mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/847\"\u003e#847\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport gmpy2-like rounding modes in to_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/830\"\u003e#830\u003c/a\u003e (Javier Garcia)\u003c/li\u003e\n\u003cli\u003eImplement 'a'/'A' formating types for mpf.\u003cstrong\u003eformat\u003c/strong\u003e, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/841\"\u003e#841\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/870\"\u003e#870\u003c/a\u003e\n(Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpc.\u003cstrong\u003eformat\u003c/strong\u003e(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/855\"\u003e#855\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eNow mpf.\u003cstrong\u003eround\u003c/strong\u003e() returns mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/826\"\u003e#826\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport 'b' (binary) format type for mpf/mpc, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/867\"\u003e#867\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.\u003cstrong\u003efloordiv\u003c/strong\u003e() and mpf.\u003cstrong\u003edivmod\u003c/strong\u003e(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/873\"\u003e#873\u003c/a\u003e (Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eAdd parameters for MPContext constructor, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/876\"\u003e#876\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/963\"\u003e#963\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd MPFR-compatible aliases for rounding modes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/892\"\u003e#892\u003c/a\u003e (Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eSupport negative indexes in matrix, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/897\"\u003e#897\u003c/a\u003e (Riccardo Orsi)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/f3e9cf0706b6e3b02a0124e5a367078283a3ce03\"\u003e\u003ccode\u003ef3e9cf0\u003c/code\u003e\u003c/a\u003e Update CHANGES (free-threading support)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/8a01b18638e66b7f5931d572311636e6e3f394f5\"\u003e\u003ccode\u003e8a01b18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1032\"\u003e#1032\u003c/a\u003e from skirpichev/release-v1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/acd4b569d48bf6e18de89431f4e9c5aa6ba097ea\"\u003e\u003ccode\u003eacd4b56\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/2933f42ad59146cb44408e8259137d93eb1ae4bc\"\u003e\u003ccode\u003e2933f42\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into release-v1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/711d3c368168348e35363b8d0edd0d19710cf1f4\"\u003e\u003ccode\u003e711d3c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1043\"\u003e#1043\u003c/a\u003e from skirpichev/revert-949\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/7cf16b782857a0f4edc5ae0a09fdc784a202ab99\"\u003e\u003ccode\u003e7cf16b7\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add isspecial() method for mp/fp contexts, deprecate isnormal()\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/34cc1f814750187c144abcf19297f7a775128fda\"\u003e\u003ccode\u003e34cc1f8\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/1e0dc7b3070d0e569b84c0377a68e2dd9c88ce41\"\u003e\u003ccode\u003e1e0dc7b\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into release-v1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/c7128a6ac5268cc0f7a71e06e67a81f92f1c0ed0\"\u003e\u003ccode\u003ec7128a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1041\"\u003e#1041\u003c/a\u003e from skirpichev/fix-459\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/81034e8648264a7d6a34cb1d28b0a34b2a18e8df\"\u003e\u003ccode\u003e81034e8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1042\"\u003e#1042\u003c/a\u003e from skirpichev/backport-action\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mpmath/mpmath/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.6 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\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/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.6...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30629\"\u003e#30629\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\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/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 12.1.0 to 12.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.1.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch libavif for svt-av1 4.0 compatibility \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9413\"\u003e#9413\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix OOB Write with invalid tile extents \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9427\"\u003e#9427\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\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/python-pillow/Pillow/commit/5158d98c807e719c5938aa3886913ef0ea6814e9\"\u003e\u003ccode\u003e5158d98\u003c/code\u003e\u003c/a\u003e 12.1....\n\n_Description has been truncated_","html_url":"https://github.com/pcalnon/juniper-canopy/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcalnon%2Fjuniper-canopy/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"3833780166","node_id":"PR_kwDOK0jo8s6-N6tJ","number":80,"state":"closed","title":"chore(deps): bump the python-packages group with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-26T00:38:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-20T13:36:37.000Z","updated_at":"2026-01-26T00:38:20.000Z","time_to_close":471695,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"},{"uuid":"3830227459","node_id":"PR_kwDOK0jo8s6-CNhs","number":79,"state":"closed","title":"chore(deps): bump the python-packages group with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-19T19:01:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-19T15:34:18.000Z","updated_at":"2026-01-19T19:02:07.000Z","time_to_close":12461,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"},{"uuid":"3790548778","node_id":"PR_kwDOK0jo8s68AEN8","number":78,"state":"closed","title":"chore(deps): bump the python-packages group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-18T18:38:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T22:19:30.000Z","updated_at":"2026-01-18T18:38:39.000Z","time_to_close":937141,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates in the / directory: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"},{"uuid":"3767395360","node_id":"PR_kwDOK0jo8s660zFG","number":73,"state":"closed","title":"chore(deps): bump the python-packages group with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-06T13:24:14.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-29T13:19:09.000Z","updated_at":"2026-01-06T13:24:15.000Z","time_to_close":691505,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/73","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/73","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/73/packages"},{"uuid":"3510134905","node_id":"PR_kwDOK0jo8s6td8W6","number":55,"state":"closed","title":"chore(deps): bump the python-packages group with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-15T13:24:41.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T13:42:38.000Z","updated_at":"2025-10-15T13:24:43.000Z","time_to_close":171723,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":2,"packages":[{"name":"yamlfix","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"invoke","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/pyinvoke/invoke"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 2 updates: [yamlfix](https://github.com/lyz-code/yamlfix) and [invoke](https://github.com/pyinvoke/invoke).\n\nUpdates `yamlfix` from 1.18.0 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.0 (2025-10-12)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `invoke` from 2.2.0 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/26efe98365b8ffc52a925bc60d8cb7b16601a91d\"\u003e\u003ccode\u003e26efe98\u003c/code\u003e\u003c/a\u003e Cut 2.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/294ea5d57a9cfd66be5b02110d5895cfc3a692b6\"\u003e\u003ccode\u003e294ea5d\u003c/code\u003e\u003c/a\u003e Merge branch '2.1' into 2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/283d4fbb6b8808ec57c2b3cc8afe04f36766699e\"\u003e\u003ccode\u003e283d4fb\u003c/code\u003e\u003c/a\u003e Cut 2.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/b06a3a43cf78009b16ea660e200c7e01dd96fadf\"\u003e\u003ccode\u003eb06a3a4\u003c/code\u003e\u003c/a\u003e Merge branch '2.1' into 2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/c03ed2299813ae8bb270eb794305619002fce3f5\"\u003e\u003ccode\u003ec03ed22\u003c/code\u003e\u003c/a\u003e Include newer Python releases in CI config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/87c5032a80fbc857eccc959518d563dda6ad864e\"\u003e\u003ccode\u003e87c5032\u003c/code\u003e\u003c/a\u003e Changelog re \u003ca href=\"https://redirect.github.com/pyinvoke/invoke/issues/1038\"\u003e#1038\u003c/a\u003e, re \u003ca href=\"https://redirect.github.com/pyinvoke/invoke/issues/1040\"\u003e#1040\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/89167c16bfb50c6a5045e64072a8d78fb89a78c8\"\u003e\u003ccode\u003e89167c1\u003c/code\u003e\u003c/a\u003e handle TIOCGWINSZ struct correctly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/506bf4e020c177a03cf4257a22969bad0845e4ee\"\u003e\u003ccode\u003e506bf4e\u003c/code\u003e\u003c/a\u003e Merge branch '2.1' into 2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/0a020daccd0edf034775c00fd04484a5295609ee\"\u003e\u003ccode\u003e0a020da\u003c/code\u003e\u003c/a\u003e Merge branch '2.0' into 2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/b8a1b5b6e1f13a4200bf32d5611b6b337de86a9c\"\u003e\u003ccode\u003eb8a1b5b\u003c/code\u003e\u003c/a\u003e Add a security policy pointing to Tidelift\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinvoke/invoke/compare/2.2.0...2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"},{"uuid":"2881788134","node_id":"PR_kwDOK0jo8s6rxJjm","number":49,"state":"closed","title":"chore(deps): bump the python-packages group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-04T14:42:37.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-02T13:23:42.000Z","updated_at":"2025-10-04T14:42:37.000Z","time_to_close":177535,"merged_at":"2025-10-04T14:42:36.000Z","merged_by":"mpenning","closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":6,"packages":[{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"libpass","old_version":"1.9.1.post0","new_version":"1.9.2","repository_url":"https://github.com/notypecheck/passlib"},{"name":"hypothesis","old_version":"6.137.2","new_version":"6.140.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [libpass](https://github.com/notypecheck/passlib) | `1.9.1.post0` | `1.9.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.137.2` | `6.140.2` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.17.0` | `1.18.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.30.2` |\n\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\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/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libpass` from 1.9.1.post0 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/notypecheck/passlib/releases\"\u003elibpass's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: pin bcrypt to \u003ccode\u003e\u0026lt;5.0.0\u003c/code\u003e, thanks to \u003ca href=\"https://github.com/mo7ty\"\u003e\u003ccode\u003e@​mo7ty\u003c/code\u003e\u003c/a\u003e for bringing attention to the issue and drafting the initial PR\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ebcrypt 5.0.0 introduces a breaking change - hashpw raises ValueError if password would be truncated by bcrypt, in future versions \u003ccode\u003epasslib.exc.PasswordTruncateError\u003c/code\u003e will be raised when trying to hash passwords with length greater than 72 bytes\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/notypecheck/passlib/compare/1.9.1...1.9.2\"\u003ehttps://github.com/notypecheck/passlib/compare/1.9.1...1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/notypecheck/passlib/blob/main/CHANGELOG.md\"\u003elibpass's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2 (2025-10-01)\u003c/h2\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin bcrypt to \u003ccode\u003e\u0026lt;5.0.0\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/a6bf67718a196a19d1e1a125a756f01a28ded2b0\"\u003e\u003ccode\u003ea6bf677\u003c/code\u003e\u003c/a\u003e bump: version 1.9.1.post0 → 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/73ab6e4eb6646adbd447285f03326065105db991\"\u003e\u003ccode\u003e73ab6e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/notypecheck/passlib/issues/20\"\u003e#20\u003c/a\u003e from notypecheck/pin-bcrypt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/8e08a6a8bc92ecc636a77eb078df27f56a919adb\"\u003e\u003ccode\u003e8e08a6a\u003c/code\u003e\u003c/a\u003e update lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/8b3957e0d44dbf2fd4c686d28d4ffb33628162c4\"\u003e\u003ccode\u003e8b3957e\u003c/code\u003e\u003c/a\u003e build: pin bcrypt to \u003ccode\u003e\u0026lt;5.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/7061d86798a02a27d18eae4cfc7a6fe72df7edd8\"\u003e\u003ccode\u003e7061d86\u003c/code\u003e\u003c/a\u003e remove misleading changes from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/403ee6e533d0afe3356c7e1f8de0f6ba94de41c1\"\u003e\u003ccode\u003e403ee6e\u003c/code\u003e\u003c/a\u003e update old url in readme.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/notypecheck/passlib/compare/1.9.1.post0...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.137.2 to 6.140.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.140.2\u003c/h2\u003e\n\u003cp\u003eThe automatic switch to the CI \u0026quot;settings profile\u0026quot; now works under tox\n(for \u0026quot;tox \u0026gt;= 4.30.0\u0026quot;).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-140-2\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.140.1\u003c/h2\u003e\n\u003cp\u003eThis patch re-enables the warning for incompatible \u0026quot;shared()\u0026quot;\nstrategies that was first enabled in v6.133.0 but disabled in\nv6.135.15.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-140-1\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.140.0\u003c/h2\u003e\n\u003cp\u003e\u0026quot;characters()\u0026quot; now validates that the elements of the\n\u0026quot;exclude_characters\u0026quot; and \u0026quot;include_characters\u0026quot; arguments are single\ncharacters, which was always assumed internally. For example,\n\u0026quot;exclude_characters=[\u0026quot;a\u0026quot;, \u0026quot;b\u0026quot;]\u0026quot; is valid while\n\u0026quot;exclude_characters=[\u0026quot;ab\u0026quot;]\u0026quot; will now raise an error up-front.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-140-0\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.3\u003c/h2\u003e\n\u003cp\u003eAdd \u0026quot;phase\u0026quot; to the hypothesis-specific metadata in observability.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-3\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.2\u003c/h2\u003e\n\u003cp\u003eInternal refactoring for new lint rules.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-2\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.1\u003c/h2\u003e\n\u003cp\u003eFixed another typo in error message around function-scoped fixtures.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-1\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.0\u003c/h2\u003e\n\u003cp\u003eAdd \u0026quot;get_current_profile_name()\u0026quot;, which returns the name of the\ncurrent settings profile.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-0\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.17\u003c/h2\u003e\n\u003cp\u003eFixed typo in error message around function-scoped fixtures.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-17\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.16\u003c/h2\u003e\n\u003cp\u003eImproved error message for \u0026quot;DeadlineExceeded\u0026quot;.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/275d4964d1df8f3bcac5eef96c36407d15824b56\"\u003e\u003ccode\u003e275d496\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.140.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3b95a47cf9b9c60ff991e7d4e9166d27db3cc09b\"\u003e\u003ccode\u003e3b95a47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4553\"\u003e#4553\u003c/a\u003e from Liam-DeVoe/tox-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/549d8cda6eb4a72912791326c05932fd6d229e71\"\u003e\u003ccode\u003e549d8cd\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.140.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b3146b02162ea8d169dc13d4a5f0aef070aee440\"\u003e\u003ccode\u003eb3146b0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4509\"\u003e#4509\u003c/a\u003e from jobh/fix_shared_strategy_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/af304d95e662cfb79bd48b23f6ef13dc4ea85fbc\"\u003e\u003ccode\u003eaf304d9\u003c/code\u003e\u003c/a\u003e Remove a redundant hash in calc_label\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/43a65dc74de98efc4d6ff3898efdf0690d487e5e\"\u003e\u003ccode\u003e43a65dc\u003c/code\u003e\u003c/a\u003e Revert changes to integers/floats label calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f1e78f75bc3161d62c05bad9985da969e44797d2\"\u003e\u003ccode\u003ef1e78f7\u003c/code\u003e\u003c/a\u003e Add test for coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c5fa0d4506608725abcb001f6242a39c5be4a83e\"\u003e\u003ccode\u003ec5fa0d4\u003c/code\u003e\u003c/a\u003e formatting, lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b5dc8ff4949d7fa19076f532974eaa9a59b3873d\"\u003e\u003ccode\u003eb5dc8ff\u003c/code\u003e\u003c/a\u003e Update a test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7cb9389f53fdc59f2638772894b7896e4e057204\"\u003e\u003ccode\u003e7cb9389\u003c/code\u003e\u003c/a\u003e lint and flatmap\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.137.2...hypothesis-python-6.140.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.9.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.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\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\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\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\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.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/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows 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/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"},{"uuid":"2829504155","node_id":"PR_kwDOK0jo8s6ops6b","number":44,"state":"open","title":"chore(deps): bump the python-packages group with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T14:27:10.000Z","updated_at":"2025-09-15T14:27:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":4,"packages":[{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"hypothesis","old_version":"6.137.2","new_version":"6.138.16","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 4 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [hypothesis](https://github.com/HypothesisWorks/hypothesis), [yamlfix](https://github.com/lyz-code/yamlfix) and [tox](https://github.com/tox-dev/tox).\n\nUpdates `pyparsing` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\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/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0b46bcd452f87c0f72007995af21a935b16b7123\"\u003e\u003ccode\u003e0b46bcd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9a898f595539169e4645f5de1703b78da9b1658c\"\u003e\u003ccode\u003e9a898f5\u003c/code\u003e\u003c/a\u003e Docs: Update API definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/45fd9722381b53e1205a0c190418b46721a224c9\"\u003e\u003ccode\u003e45fd972\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.helpers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.137.2 to 6.138.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.16\u003c/h2\u003e\n\u003cp\u003eImproved error message for \u0026quot;DeadlineExceeded\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-16\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.15\u003c/h2\u003e\n\u003cp\u003eRefactor some stateful testing internals for easier use by third-party\nlibraries.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-15\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.14\u003c/h2\u003e\n\u003cp\u003ePatch files written by hypothesis now use a deterministic ordering\nwhen multiple \u0026quot;\u003ca href=\"https://github.com/example\"\u003e\u003ccode\u003e@​example\u003c/code\u003e\u003c/a\u003e\u0026quot; decorators are present.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-14\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.13\u003c/h2\u003e\n\u003cp\u003eFix a typo affecting pretty-printing of lambdas with complex default\narguments.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-13\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.12\u003c/h2\u003e\n\u003cp\u003eImprove automatic detection of the CI profile on various vendor-\nspecific CI systems.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-12\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.11\u003c/h2\u003e\n\u003cp\u003eThis patch updates our vendored list of top-level domains, which is\nused by the provisional \u0026quot;domains()\u0026quot; strategy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-11\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.10\u003c/h2\u003e\n\u003cp\u003eInternal refactor to simplify \u0026quot;SearchStrategy\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-10\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.9\u003c/h2\u003e\n\u003cp\u003eThis patch further improves stringification of lambdas, by never\nreturning a lambda source unless it is confirmed to compile to the\nsame code object. This stricter check makes it possible to widen the\nsearch for a matching source block, so that it can often be found even\nif the file has been edited.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.8\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/HypothesisWorks/hypothesis/commit/0e30b0b0dc26cbd02436f19d653c75bc41a71f14\"\u003e\u003ccode\u003e0e30b0b\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.16 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a50984333cb6bb08c4957753eeca4f4dd684f754\"\u003e\u003ccode\u003ea509843\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4539\"\u003e#4539\u003c/a\u003e from Liam-DeVoe/next2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3e11cf0accb79f3a75f5f3c6edd226174fc247a4\"\u003e\u003ccode\u003e3e11cf0\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c6d7060c9325ae226aa29d5bfc0cd6004623a850\"\u003e\u003ccode\u003ec6d7060\u003c/code\u003e\u003c/a\u003e remove shrinking assertion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13a52bb4de85d65f7bef2e853d0f8e608df9b217\"\u003e\u003ccode\u003e13a52bb\u003c/code\u003e\u003c/a\u003e add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6db305bd189099ac7297006d41ebe50f81678c6d\"\u003e\u003ccode\u003e6db305b\u003c/code\u003e\u003c/a\u003e remove skip (addressed better in another pr)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6057dd22779a14b6449d4764265c77f6b071480f\"\u003e\u003ccode\u003e6057dd2\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into next2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3d2a6d1c80cfeeb0fba6438c37c94341bc3528ed\"\u003e\u003ccode\u003e3d2a6d1\u003c/code\u003e\u003c/a\u003e speed up stateful bad machines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c4588c3b3433fee1682d314f45d0e9e3f98bc3b\"\u003e\u003ccode\u003e2c4588c\u003c/code\u003e\u003c/a\u003e clarify deadline error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/db13c0458a600e1c8980ea757573b6aa3f47e0dc\"\u003e\u003ccode\u003edb13c04\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.15 and update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.137.2...hypothesis-python-6.138.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.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/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows 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/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/44","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/44","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/44/packages"},{"uuid":"2827532165","node_id":"PR_kwDOK9XgTc6oiLeF","number":1072,"state":"open","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T02:11:09.000Z","updated_at":"2025-09-15T02:11:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1072","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1072","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1072/packages"},{"uuid":"2817354936","node_id":"PR_kwDOK9XgTc6n7Wy4","number":1069,"state":"open","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-11T02:41:08.000Z","updated_at":"2025-09-11T02:41:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1069","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1069","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1069/packages"},{"uuid":"2813924899","node_id":"PR_kwDOK9XgTc6nuRYj","number":1066,"state":"closed","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-10T02:34:53.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-10T02:32:58.000Z","updated_at":"2025-09-10T02:34:53.000Z","time_to_close":115,"merged_at":"2025-09-10T02:34:53.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1066","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1066","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1066/packages"},{"uuid":"2810100622","node_id":"PR_kwDOK9XgTc6nfruO","number":1063,"state":"open","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-09T02:10:50.000Z","updated_at":"2025-09-09T02:11:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1063","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1063","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1063/packages"},{"uuid":"3394926926","node_id":"PR_kwDOJ4EBLM6nbEZo","number":1041,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0 in /.github/workflows/requirements","user":"dependabot[bot]","labels":["ci","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T16:43:51.000Z","updated_at":"2025-09-09T01:19:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":"/.github/workflows/requirements","ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/LLNL/benchpark/pull/1041","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fbenchpark/issues/1041","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1041/packages"},{"uuid":"2808703407","node_id":"PR_kwDONqPLA86naWmv","number":178,"state":"closed","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-08T15:40:45.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T15:36:36.000Z","updated_at":"2025-09-08T15:40:45.000Z","time_to_close":249,"merged_at":"2025-09-08T15:40:45.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamtheturtle/sphinx-confluencebuilder-bridge/pull/178","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamtheturtle%2Fsphinx-confluencebuilder-bridge/issues/178","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/178/packages"},{"uuid":"2808607027","node_id":"PR_kwDOG2myCM6nZ_Ez","number":58,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T15:05:55.000Z","updated_at":"2025-09-08T15:05:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/otherguy/docker-yamlfix/pull/58","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/otherguy%2Fdocker-yamlfix/issues/58","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/58/packages"},{"uuid":"2808321840","node_id":"PR_kwDOK0jo8s6nY5cw","number":42,"state":"closed","title":"chore(deps): bump the python-packages group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-14T18:15:02.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T13:39:36.000Z","updated_at":"2025-09-14T18:15:02.000Z","time_to_close":534926,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"hypothesis","old_version":"6.137.2","new_version":"6.138.15","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates in the / directory: [hypothesis](https://github.com/HypothesisWorks/hypothesis), [yamlfix](https://github.com/lyz-code/yamlfix) and [tox](https://github.com/tox-dev/tox).\n\nUpdates `hypothesis` from 6.137.2 to 6.138.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.15\u003c/h2\u003e\n\u003cp\u003eRefactor some stateful testing internals for easier use by third-party\nlibraries.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-15\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.14\u003c/h2\u003e\n\u003cp\u003ePatch files written by hypothesis now use a deterministic ordering\nwhen multiple \u0026quot;\u003ca href=\"https://github.com/example\"\u003e\u003ccode\u003e@​example\u003c/code\u003e\u003c/a\u003e\u0026quot; decorators are present.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-14\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.13\u003c/h2\u003e\n\u003cp\u003eFix a typo affecting pretty-printing of lambdas with complex default\narguments.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-13\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.12\u003c/h2\u003e\n\u003cp\u003eImprove automatic detection of the CI profile on various vendor-\nspecific CI systems.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-12\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.11\u003c/h2\u003e\n\u003cp\u003eThis patch updates our vendored list of top-level domains, which is\nused by the provisional \u0026quot;domains()\u0026quot; strategy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-11\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.10\u003c/h2\u003e\n\u003cp\u003eInternal refactor to simplify \u0026quot;SearchStrategy\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-10\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.9\u003c/h2\u003e\n\u003cp\u003eThis patch further improves stringification of lambdas, by never\nreturning a lambda source unless it is confirmed to compile to the\nsame code object. This stricter check makes it possible to widen the\nsearch for a matching source block, so that it can often be found even\nif the file has been edited.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.8\u003c/h2\u003e\n\u003cp\u003eFixes a race condition under threading when using \u0026quot;deferred()\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.7\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/HypothesisWorks/hypothesis/commit/db13c0458a600e1c8980ea757573b6aa3f47e0dc\"\u003e\u003ccode\u003edb13c04\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.15 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ebcb029cec26da3fa8248a0ea3424dfba2daf4f1\"\u003e\u003ccode\u003eebcb029\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4535\"\u003e#4535\u003c/a\u003e from Liam-DeVoe/stateful-internals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c63a2542bc5dcdc9371dc1cade5404b280a5ccaf\"\u003e\u003ccode\u003ec63a254\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4534\"\u003e#4534\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/96a30ebab30fa170ec0c1aea576b12392b4a7729\"\u003e\u003ccode\u003e96a30eb\u003c/code\u003e\u003c/a\u003e less flaky\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e617e45fe8ac3c9abd017998f42e590959e36f9e\"\u003e\u003ccode\u003ee617e45\u003c/code\u003e\u003c/a\u003e drop factory param from run_state_machine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/448fb5d29c16e148c1d50ec8eae3d0ac02ddf5d2\"\u003e\u003ccode\u003e448fb5d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/43cbd618c201b10d084ac430ab05fbdf8c4fd836\"\u003e\u003ccode\u003e43cbd61\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.14 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0113a7751e5d14d0d37c70f077a5f62ee197b771\"\u003e\u003ccode\u003e0113a77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4533\"\u003e#4533\u003c/a\u003e from Liam-DeVoe/next2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2eec6ee2b3457aa098c6334b20e4ea614f679d6b\"\u003e\u003ccode\u003e2eec6ee\u003c/code\u003e\u003c/a\u003e preserve examples order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f09c331c6b39d4a6193e860ac1374ef2d8f35c7d\"\u003e\u003ccode\u003ef09c331\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.13 and update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.137.2...hypothesis-python-6.138.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.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/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows 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/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"},{"uuid":"3394218597","node_id":"PR_kwDOMrYkps6nYrIv","number":495,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T13:24:04.000Z","updated_at":"2025-09-08T13:25:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamtheturtle/sybil-extras/pull/495","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamtheturtle%2Fsybil-extras/issues/495","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/495/packages"},{"uuid":"3393800198","node_id":"PR_kwDOCV11XM6nXQDk","number":1200,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T11:28:52.000Z","updated_at":"2025-09-08T11:30:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamtheturtle/sphinx-substitution-extensions/pull/1200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamtheturtle%2Fsphinx-substitution-extensions/issues/1200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1200/packages"}],"issue_packages":[{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2026-03-12T07:56:09.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"4062894106","node_id":"PR_kwDORVpyr87J8gYq","number":14,"state":"open","title":"deps: bump the python-minor group across 1 directory with 62 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-03-12T07:56:09.000Z","updated_at":"2026-03-12T07:56:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":62,"packages":[{"name":"fastapi","old_version":"0.123.9","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"plotly","old_version":"6.5.0","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"scipy","old_version":"1.16.3","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"torch","old_version":"2.9.1","new_version":"2.10.0+cpu"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"coverage","old_version":"7.12.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"filelock","old_version":"3.20.2","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.17","repository_url":"https://github.com/pre-commit/identify"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"networkx","old_version":"3.6","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"pillow","old_version":"12.1.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pyparsing","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.5","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"fastapi-cli","old_version":"0.0.16","new_version":"0.0.24","repository_url":"https://github.com/fastapi/fastapi-cli"},{"name":"flake8-simplify","old_version":"0.22.0","new_version":"0.30.0","repository_url":"https://github.com/MartinThoma/flake8-simplify"},{"name":"gmpy2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/gmpy2/gmpy2"},{"name":"importlib-metadata","old_version":"8.7.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"maison","old_version":"2.0.0","new_version":"2.0.2","repository_url":"https://github.com/dbatten/maison"},{"name":"narwhals","old_version":"2.13.0","new_version":"2.18.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.3.20","new_version":"3.5.21"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"rich-toolkit","old_version":"0.17.0","new_version":"0.19.7"},{"name":"ruyaml","old_version":"0.0.0","new_version":"0.91.0","repository_url":"https://github.com/pycontribs/ruyaml"},{"name":"sentry-sdk","old_version":"2.29.1","new_version":"2.54.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"triton","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"typer","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"typer-slim","old_version":"0.20.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"ukkonen","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/asottile/ukkonen"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"yamllint","old_version":"1.37.1","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 62 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.9` | `0.135.1` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.0` | `6.6.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.3` | `1.17.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| torch | `2.9.1` | `2.10.0+cpu` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.12.0` | `7.13.4` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.2` | `3.25.2` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.0` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.17` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.6` | `3.6.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.4` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.1` | `3.3.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.22` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.41.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.6` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.5` |\n| [fastapi-cli](https://github.com/fastapi/fastapi-cli) | `0.0.16` | `0.0.24` |\n| [flake8-simplify](https://github.com/MartinThoma/flake8-simplify) | `0.22.0` | `0.30.0` |\n| [gmpy2](https://github.com/gmpy2/gmpy2) | `2.2.1` | `2.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.0` | `8.7.1` |\n| [maison](https://github.com/dbatten/maison) | `2.0.0` | `2.0.2` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.13.0` | `2.18.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.3.20` | `3.5.21` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.24.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| rich-toolkit | `0.17.0` | `0.19.7` |\n| [ruyaml](https://github.com/pycontribs/ruyaml) | `0.0.0` | `0.91.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.29.1` | `2.54.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.5.1` | `3.6.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.24.1` |\n| [typer-slim](https://github.com/fastapi/typer) | `0.20.0` | `0.24.0` |\n| [ukkonen](https://github.com/asottile/ukkonen) | `1.0.1` | `1.1.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.19.0` | `1.19.1` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.1` | `1.38.0` |\n\n\nUpdates `fastapi` from 0.123.9 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\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✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\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 FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\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 FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\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 FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\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.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\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 \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\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🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\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.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.9...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.5.0 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.5.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.5.2] - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.5.1] - 2026-01-07\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.0...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.3 (Mar 9, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.3 is a patch release that fixes bugs discovered after the\n2.4.2 release. The most user visible fix may be a threading fix for\nOpenBLAS on ARM, closing issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 11 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAntareep Sarkar +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatthieu Darbois\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePeter Hawkins\u003c/li\u003e\n\u003cli\u003ePieter Eendebak\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003estratakis +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 14 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30759\"\u003e#30759\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30827\"\u003e#30827\u003c/a\u003e: BUG: Fix some leaks found via LeakSanitizer (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30756\"\u003e#30756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30841\"\u003e#30841\u003c/a\u003e: MAINT: Synchronize 2.4.x submodules with main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30849\"\u003e#30849\u003c/a\u003e: TYP: \u003ccode\u003ematlib\u003c/code\u003e: missing extended precision imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30850\"\u003e#30850\u003c/a\u003e: BUG: Fix weak hash function in np.isin(). (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30840\"\u003e#30840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30921\"\u003e#30921\u003c/a\u003e: BUG: fix infinite recursion in np.ma.flatten_structured_array...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30922\"\u003e#30922\u003c/a\u003e: BUG: Fix buffer overrun in CPU baseline validation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30877\"\u003e#30877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30923\"\u003e#30923\u003c/a\u003e: BUG: Fix busdaycalendar's handling of a bool array weekmask....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30924\"\u003e#30924\u003c/a\u003e: BUG: Fix reference leaks and NULL pointer dereferences (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30908\"\u003e#30908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30925\"\u003e#30925\u003c/a\u003e: MAINT: fix two minor issues noticed when touching the C API setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30955\"\u003e#30955\u003c/a\u003e: ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30957\"\u003e#30957\u003c/a\u003e: BUG: fix type issues in uses if PyDataType macros\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30958\"\u003e#30958\u003c/a\u003e: MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30973\"\u003e#30973\u003c/a\u003e: MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\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/numpy/numpy/commit/8bcb2e72e67c343e55165e6064fe6a9dc011e954\"\u003e\u003ccode\u003e8bcb2e7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30974\"\u003e#30974\u003c/a\u003e from charris/prepare-2.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9a2b5eef3b142e852c0092d449b2ea54e8d87314\"\u003e\u003ccode\u003e9a2b5ee\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a822ac28798a9a7ed1094879caaf885e282ccb6c\"\u003e\u003ccode\u003ea822ac2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30973\"\u003e#30973\u003c/a\u003e from charris/backport-30961\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/039bf549aad7ac149587884582e561f555ed770a\"\u003e\u003ccode\u003e039bf54\u003c/code\u003e\u003c/a\u003e MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/254bafa78941aa1ceb9f4680c9f07e9ec6bb94b0\"\u003e\u003ccode\u003e254bafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30955\"\u003e#30955\u003c/a\u003e from charris/backport-30879\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/0cc7d38c659741ddece03e59dad154bf3006bf49\"\u003e\u003ccode\u003e0cc7d38\u003c/code\u003e\u003c/a\u003e ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9ee571dee7982c1e8369148c1585a07e9bd878b8\"\u003e\u003ccode\u003e9ee571d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30957\"\u003e#30957\u003c/a\u003e from charris/backport-30918\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f302a1699020958b2ee02a3eb4177160f8153556\"\u003e\u003ccode\u003ef302a16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30958\"\u003e#30958\u003c/a\u003e from charris/backport-30938\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d240a09784a41e9f7b00de2d9d24b2a1d46d171b\"\u003e\u003ccode\u003ed240a09\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4fc08e9ebfd25530345fbd8f03bcd60fb7b0fbda\"\u003e\u003ccode\u003e4fc08e9\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.16.3 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\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.16.3...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.9.1 to 2.10.0+cpu\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 `coverage` from 7.12.0 to 7.13.4\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.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4f78d57f83ff8a4976043e8a8fcea24b91891840\"\u003e\u003ccode\u003e4f78d57\u003c/code\u003e\u003c/a\u003e build: no need to publish status.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f8616ff5e6386648aa40300e36c6cecda79a1faa\"\u003e\u003ccode\u003ef8616ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fcf8c68db986970e6000bf75ec3c3115ede867df\"\u003e\u003ccode\u003efcf8c68\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/189ecfd000867e5c74e7d74ee3bd75742d5d584d\"\u003e\u003ccode\u003e189ecfd\u003c/code\u003e\u003c/a\u003e docs: thanks Pankhudi Jain for ppc64le wheels \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/58aade0eb92d9d1e3755c65a5cf7a951e7bd6c6a\"\u003e\u003ccode\u003e58aade0\u003c/code\u003e\u003c/a\u003e build: add support for ppc64le architecture (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ea42c874fbfc96535156300225bda22bc93ac68\"\u003e\u003ccode\u003e8ea42c8\u003c/code\u003e\u003c/a\u003e chore: bump actions/attest-build-provenance (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c09595f70758b78156efbd7c8f034799d09322aa\"\u003e\u003ccode\u003ec09595f\u003c/code\u003e\u003c/a\u003e docs: Janine put a lot of effort into debugging issue \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2128\"\u003e#2128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ee1760f40b8822aa2b11ff95ab63481be68a8a0\"\u003e\u003ccode\u003e8ee1760\u003c/code\u003e\u003c/a\u003e docs: Greg wrote a great issue: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003e#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/76ba0437611fc2787cb0450dc94b02bc2848fdee\"\u003e\u003ccode\u003e76ba043\u003c/code\u003e\u003c/a\u003e docs: thanks, Noah Fatsi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/371fcc5727e9d8fba816061756af94646b4bcfbb\"\u003e\u003ccode\u003e371fcc5\u003c/code\u003e\u003c/a\u003e fix: set fixed paths_list in TreeMatcher init (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.12.0...7.13.4\"\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.2 to 3.25.2\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.25.2\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): suppress EIO on close in Docker bind mounts 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/513\"\u003etox-dev/filelock#513\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.25.1...3.25.2\"\u003ehttps://github.com/tox-dev/filelock/compare/3.25.1...3.25.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e📝 docs(logo): add branded project logo 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/507\"\u003etox-dev/filelock#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): restore best-effort lock file cleanup on release by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/511\"\u003etox-dev/filelock#511\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.25.0...3.25.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.25.0...3.25.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to check workflow 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/500\"\u003etox-dev/filelock#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/501\"\u003etox-dev/filelock#501\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/tox-dev/filelock/pull/504\"\u003etox-dev/filelock#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock 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/506\"\u003etox-dev/filelock#506\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.4...3.25.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.4...3.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress ValueError in _try_break_stale_lock for corrupted lock files by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ValueError in _acquire_transaction_lock when blocking=False with timeout 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/498\"\u003etox-dev/filelock#498\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/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\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.3...3.24.4\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.3...3.24.4\u003c/a\u003e\u003c/p\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\u003c!-- 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.25.2 (2026-03-11)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(unix): suppress EIO on close in Docker bind mounts :pr:\u003ccode\u003e513\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.25.1 (2026-03-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e510\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(win): restore best-effort lock file cleanup on release :pr:\u003ccode\u003e511\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e508\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e📝 docs(logo): add branded project logo :pr:\u003ccode\u003e507\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.25.0 (2026-03-01)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock :pr:\u003ccode\u003e506\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7 to 8 :pr:\u003ccode\u003e503\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6 to 7 :pr:\u003ccode\u003e502\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md\u003c/li\u003e\n\u003cli\u003eAdd security policy\u003c/li\u003e\n\u003cli\u003eAdd permissions to check workflow :pr:\u003ccode\u003e500\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e499\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/5b9872c523b20db569d8832da4fb640e9c175ce6\"\u003e\u003ccode\u003e5b9872c\u003c/code\u003e\u003c/a\u003e Release 3.25.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/42b740aa076e81332402a16244c7cea60ac78851\"\u003e\u003ccode\u003e42b740a\u003c/code\u003e\u003c/a\u003e 🐛 fix(unix): suppress EIO on close in Docker bind mounts (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/d8b04b5018932f53b3d2743fadac507dd616af5c\"\u003e\u003ccode\u003ed8b04b5\u003c/code\u003e\u003c/a\u003e Release 3.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0633386072b71dfd27c6799323aecca45fb6a094\"\u003e\u003ccode\u003e0633386\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/7f2247d81bc8eab802821cd40437a61c40368d17\"\u003e\u003ccode\u003e7f2247d\u003c/code\u003e\u003c/a\u003e 🐛 fix(win): restore best-effort lock file cleanup on release (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5ae1c4e36548fc0ff6e24a26cb4187b65f2cdccb\"\u003e\u003ccode\u003e5ae1c4e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/508\"\u003e#508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bcffcfea7a8f616968e7cc45c047cc0d4142a064\"\u003e\u003ccode\u003ebcffcfe\u003c/code\u003e\u003c/a\u003e 📝 docs(logo): add branded project logo (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/7f195d9f06e8a96ac7226133a56df41571782183\"\u003e\u003ccode\u003e7f195d9\u003c/code\u003e\u003c/a\u003e Release 3.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df2754eb4ea2e6e8b7d6fb54896d17163dcd2745\"\u003e\u003ccode\u003edf2754e\u003c/code\u003e\u003c/a\u003e ✨ feat(async): add AsyncReadWriteLock (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8a359c54746ae8252b27b0198c125b741908d88e\"\u003e\u003ccode\u003e8a359c5\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.2...3.25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\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/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.61.1 to 4.62.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the \u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also decouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data before compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc behavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of emitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the same encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG paths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4042\"\u003e#4042\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4043\"\u003e#4043\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glifLib] Fix regression reading glyph outlines when \u003ccode\u003eglyphObject=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4030\"\u003e#4030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4031\"\u003e#4031\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[pointPen] Fix \u003ccode\u003eSegmentToPointPen\u003c/code\u003e edge case: only remove a duplicate final point on \u003ccode\u003eclosePath()\u003c/code\u003e if it is an on-curve point (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4014\"\u003e#4014\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4015\"\u003e#4015\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cffLib] \u003cstrong\u003eSECURITY\u003c/strong\u003e Replace \u003ccode\u003eeval()\u003c/code\u003e with \u003ccode\u003esafeEval()\u003c/code\u003e in \u003ccode\u003eparseBlendList()\u003c/code\u003e to prevent arbitrary code ex...\n\n_Description has been truncated_","html_url":"https://github.com/pcalnon/juniper-canopy/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcalnon%2Fjuniper-canopy/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2026-03-02T15:24:36.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"4011839530","node_id":"PR_kwDORVpyr87HXHMs","number":10,"state":"open","title":"deps: bump the python-minor group across 1 directory with 59 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-03-02T15:24:36.000Z","updated_at":"2026-03-02T15:24:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":59,"packages":[{"name":"fastapi","old_version":"0.123.9","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"plotly","old_version":"6.5.0","new_version":"6.5.2","repository_url":"https://github.com/plotly/plotly.py"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"scipy","old_version":"1.16.3","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"torch","old_version":"2.9.1","new_version":"2.10.0+cpu"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"coverage","old_version":"7.12.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"filelock","old_version":"3.20.2","new_version":"3.25.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.17","repository_url":"https://github.com/pre-commit/identify"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"networkx","old_version":"3.6","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"pillow","old_version":"12.1.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pyparsing","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"fastapi-cli","old_version":"0.0.16","new_version":"0.0.24","repository_url":"https://github.com/fastapi/fastapi-cli"},{"name":"flake8-simplify","old_version":"0.22.0","new_version":"0.30.0","repository_url":"https://github.com/MartinThoma/flake8-simplify"},{"name":"gmpy2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/gmpy2/gmpy2"},{"name":"importlib-metadata","old_version":"8.7.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"maison","old_version":"2.0.0","new_version":"2.0.2","repository_url":"https://github.com/dbatten/maison"},{"name":"narwhals","old_version":"2.13.0","new_version":"2.17.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.19.0.56"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.3"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.3.20","new_version":"3.5.21"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"rich-toolkit","old_version":"0.17.0","new_version":"0.19.7"},{"name":"ruyaml","old_version":"0.0.0","new_version":"0.91.0","repository_url":"https://github.com/pycontribs/ruyaml"},{"name":"sentry-sdk","old_version":"2.29.1","new_version":"2.54.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"triton","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"typer","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"typer-slim","old_version":"0.20.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"ukkonen","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/asottile/ukkonen"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"yamllint","old_version":"1.37.1","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 59 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.9` | `0.135.1` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.0` | `6.5.2` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.3` | `1.17.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| torch | `2.9.1` | `2.10.0+cpu` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.12.0` | `7.13.4` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.2` | `3.25.0` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.17` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.6` | `3.6.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.1` | `3.3.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.22` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.41.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.6` |\n| [fastapi-cli](https://github.com/fastapi/fastapi-cli) | `0.0.16` | `0.0.24` |\n| [flake8-simplify](https://github.com/MartinThoma/flake8-simplify) | `0.22.0` | `0.30.0` |\n| [gmpy2](https://github.com/gmpy2/gmpy2) | `2.2.1` | `2.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.0` | `8.7.1` |\n| [maison](https://github.com/dbatten/maison) | `2.0.0` | `2.0.2` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.13.0` | `2.17.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.19.0.56` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.3` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.3.20` | `3.5.21` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.24.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| rich-toolkit | `0.17.0` | `0.19.7` |\n| [ruyaml](https://github.com/pycontribs/ruyaml) | `0.0.0` | `0.91.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.29.1` | `2.54.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.5.1` | `3.6.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.24.1` |\n| [typer-slim](https://github.com/fastapi/typer) | `0.20.0` | `0.24.0` |\n| [ukkonen](https://github.com/asottile/ukkonen) | `1.0.1` | `1.1.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.19.0` | `1.19.1` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.1` | `1.38.0` |\n\n\nUpdates `fastapi` from 0.123.9 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\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✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\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 FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\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 FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\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 FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\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.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\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 \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\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🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\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.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.9...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.5.0 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.5.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.5.2] - 2026-01-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where pie trace \u003ccode\u003elegend\u003c/code\u003e, \u003ccode\u003eshowlegend\u003c/code\u003e attributes don't accept array values [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5464\"\u003e#5464\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5465\"\u003e#5465\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/my-tien\"\u003e\u003ccode\u003e@​my-tien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.5.1] - 2026-01-07\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where Plotly Express ignored trace-specific color sequences defined in templates via \u003ccode\u003etemplate.data.\u0026lt;trace_type\u0026gt;\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5437\"\u003e#5437\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up \u003ccode\u003evalidate_gantt\u003c/code\u003e function [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5386\"\u003e#5386\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/misrasaurabh1\"\u003e\u003ccode\u003e@​misrasaurabh1\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.0 to version 3.3.1. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.1\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5456\"\u003e#5456\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie properties \u003ccode\u003eshowlegend\u003c/code\u003e and \u003ccode\u003elegend\u003c/code\u003e, so that these can be configured per slice. [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7580\"\u003e#7580\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/36d8bf845054430b8867e02961b14fc908d789c4\"\u003e\u003ccode\u003e36d8bf8\u003c/code\u003e\u003c/a\u003e Version changes for v6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1f45fa57d9e748c051864a1d25fe1e4f3d451e3e\"\u003e\u003ccode\u003e1f45fa5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5467\"\u003e#5467\u003c/a\u003e from plotly/cam/update-graph-objs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7f57ccb94e42040e55357e85bb5d3b0b4a675469\"\u003e\u003ccode\u003e7f57ccb\u003c/code\u003e\u003c/a\u003e fix: Update graph_objs per recent bug fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/3293f4db2a3cd10c9b2e03398e0890967a509c3b\"\u003e\u003ccode\u003e3293f4d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5466\"\u003e#5466\u003c/a\u003e from plotly/merge-doc-prod-to-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/61c9f6fdabd6dae72ec33310cc07127796e68c6d\"\u003e\u003ccode\u003e61c9f6f\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into merge-doc-prod-to-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/dad25200d54c8713790c43d00b1aa88fecb451b6\"\u003e\u003ccode\u003edad2520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5465\"\u003e#5465\u003c/a\u003e from my-tien/legend-arrayok\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/b5874286fded3309c2794ad7675f33b792bec8df\"\u003e\u003ccode\u003eb587428\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into legend-arrayok\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5a0440c178d2f59d7f993fae00a59d4c681157db\"\u003e\u003ccode\u003e5a0440c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5464\"\u003e#5464\u003c/a\u003e from plotly/cam/5463/handle-arrays-booleanvalidator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/fff298cf973fbe82eb1cd0adf71084002d3fc2b2\"\u003e\u003ccode\u003efff298c\u003c/code\u003e\u003c/a\u003e Simplify test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cef18a9d95d22614e5e660ba6722645defaf7fe1\"\u003e\u003ccode\u003ecef18a9\u003c/code\u003e\u003c/a\u003e Separate test for coercion of geo1 to geo and legend1 to legend\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.0...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30629\"\u003e#30629\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\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/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.16.3 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\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.16.3...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\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/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\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/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.9.1 to 2.10.0+cpu\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 `coverage` from 7.12.0 to 7.13.4\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.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4f78d57f83ff8a4976043e8a8fcea24b91891840\"\u003e\u003ccode\u003e4f78d57\u003c/code\u003e\u003c/a\u003e build: no need to publish status.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f8616ff5e6386648aa40300e36c6cecda79a1faa\"\u003e\u003ccode\u003ef8616ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fcf8c68db986970e6000bf75ec3c3115ede867df\"\u003e\u003ccode\u003efcf8c68\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/189ecfd000867e5c74e7d74ee3bd75742d5d584d\"\u003e\u003ccode\u003e189ecfd\u003c/code\u003e\u003c/a\u003e docs: thanks Pankhudi Jain for ppc64le wheels \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/58aade0eb92d9d1e3755c65a5cf7a951e7bd6c6a\"\u003e\u003ccode\u003e58aade0\u003c/code\u003e\u003c/a\u003e build: add support for ppc64le architecture (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ea42c874fbfc96535156300225bda22bc93ac68\"\u003e\u003ccode\u003e8ea42c8\u003c/code\u003e\u003c/a\u003e chore: bump actions/attest-build-provenance (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c09595f70758b78156efbd7c8f034799d09322aa\"\u003e\u003ccode\u003ec09595f\u003c/code\u003e\u003c/a\u003e docs: Janine put a lot of effort into debugging issue \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2128\"\u003e#2128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ee1760f40b8822aa2b11ff95ab63481be68a8a0\"\u003e\u003ccode\u003e8ee1760\u003c/code\u003e\u003c/a\u003e docs: Greg wrote a great issue: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003e#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/76ba0437611fc2787cb0450dc94b02bc2848fdee\"\u003e\u003ccode\u003e76ba043\u003c/code\u003e\u003c/a\u003e docs: thanks, Noah Fatsi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/371fcc5727e9d8fba816061756af94646b4bcfbb\"\u003e\u003ccode\u003e371fcc5\u003c/code\u003e\u003c/a\u003e fix: set fixed paths_list in TreeMatcher init (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.12.0...7.13.4\"\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.2 to 3.25.0\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.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to check workflow 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/500\"\u003etox-dev/filelock#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/501\"\u003etox-dev/filelock#501\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/tox-dev/filelock/pull/504\"\u003etox-dev/filelock#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock 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/506\"\u003etox-dev/filelock#506\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.4...3.25.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.4...3.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.24.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress ValueError in _try_break_stale_lock for corrupted lock files by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ValueError in _acquire_transaction_lock when blocking=False with timeout 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/498\"\u003etox-dev/filelock#498\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/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/496\"\u003etox-dev/filelock#496\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.3...3.24.4\"\u003ehttps://github.com/tox-dev/filelock/compare/3.24.3...3.24.4\u003c/a\u003e\u003c/p\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\u003c!-- 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.25.0 (2026-03-01)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(async): add AsyncReadWriteLock :pr:\u003ccode\u003e506\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7 to 8 :pr:\u003ccode\u003e503\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6 to 7 :pr:\u003ccode\u003e502\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMove SECURITY.md to .github/SECURITY.md\u003c/li\u003e\n\u003cli\u003eAdd security policy\u003c/li\u003e\n\u003cli\u003eAdd permissions to check workflow :pr:\u003ccode\u003e500\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e499\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/7f195d9f06e8a96ac7226133a56df41571782183\"\u003e\u003ccode\u003e7f195d9\u003c/code\u003e\u003c/a\u003e Release 3.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/df2754eb4ea2e6e8b7d6fb54896d17163dcd2745\"\u003e\u003ccode\u003edf2754e\u003c/code\u003e\u003c/a\u003e ✨ feat(async): add AsyncReadWriteLock (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8a359c54746ae8252b27b0198c125b741908d88e\"\u003e\u003ccode\u003e8a359c5\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/9e7b33d9e0782c7c90407017a3c529d1a7dea965\"\u003e\u003ccode\u003e9e7b33d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5fe68363fa2cb80ab67a044b5d67280108c35167\"\u003e\u003ccode\u003e5fe6836\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/502\"\u003e#502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/af265f9d068d4a0489953e39664aeaa684e44993\"\u003e\u003ccode\u003eaf265f9\u003c/code\u003e\u003c/a\u003e Move SECURITY.md to .github/SECURITY.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/67a5569548f059a2c2b54febe64e2a355ef40f39\"\u003e\u003ccode\u003e67a5569\u003c/code\u003e\u003c/a\u003e Add security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/4b8c2610179f0bac9aac0be0532640325d1f69e1\"\u003e\u003ccode\u003e4b8c261\u003c/code\u003e\u003c/a\u003e Add permissions to check workflow (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/500\"\u003e#500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e749d66461e0ea841526defab8166e265a6a63d1\"\u003e\u003ccode\u003ee749d66\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/499\"\u003e#499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/721b37bcbdb4c431441fa8e5d9377cf9f0e059f2\"\u003e\u003ccode\u003e721b37b\u003c/code\u003e\u003c/a\u003e Fix ValueError in _acquire_transaction_lock when blocking=False with timeout ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.20.2...3.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\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/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `identify` from 2.6.15 to 2.6.17\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/bc5fa61c309981c6d9aa7851773b88924c03fddb\"\u003e\u003ccode\u003ebc5fa61\u003c/code\u003e\u003c/a\u003e v2.6.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c866be72cb7c3cabded161df887ca74d780fa3aa\"\u003e\u003ccode\u003ec866be7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/563\"\u003e#563\u003c/a\u003e from seanbudd/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c20eeb54065cf37be59bfa08d4d4674055d7c640\"\u003e\u003ccode\u003ec20eeb5\u003c/code\u003e\u003c/a\u003e Add support for sconstruct and sconscript extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/8f024420daefcecc98fe6f05c8322cc6d57abd8a\"\u003e\u003ccode\u003e8f02442\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/577\"\u003e#577\u003c/a\u003e from andykernahan/add-slnx\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a10759d55ed831589dc92d27818c2975430553a9\"\u003e\u003ccode\u003ea10759d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/571\"\u003e#571\u003c/a\u003e from petamas/add-entitlements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/749d18503023f5dab661fc87c21f75151f37b95c\"\u003e\u003ccode\u003e749d185\u003c/code\u003e\u003c/a\u003e Add support for 'slnx' file extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a4ed2cac61ddee9f302a899f5b79edef7b357b54\"\u003e\u003ccode\u003ea4ed2ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/560\"\u003e#560\u003c/a\u003e from sebastiw/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/53e33c638508edae652ac1517c474dc7f70a1fd8\"\u003e\u003ccode\u003e53e33c6\u003c/code\u003e\u003c/a\u003e Add 'escript' file type for Erlang\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/50e032f766a6df71ceb2de4fae0d3643af6551a4\"\u003e\u003ccode\u003e50e032f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/574\"\u003e#574\u003c/a\u003e from petamas/add-diff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/93f1aa65b42af000df874bec3a01c645d5782c50\"\u003e\u003ccode\u003e93f1aa6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/569\"\u003e#569\u003c/a\u003e from petamas/add-uv-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/identify/compare/v2.6.15...v2.6.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mpmath` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mpmath/mpmath/releases\"\u003empmath's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport underscores as digit separators per PEP 515, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/661\"\u003e#661\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd rationals converter for mpf's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/666\"\u003e#666\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRewrite bernpoly/eulerpoly to avoid dependency on bernoulli(1) convention, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/700\"\u003e#700\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport base kwarg for from_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/703\"\u003e#703\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport randmatrix() for mp.iv and mp contexts, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/527\"\u003e#527\u003c/a\u003e (Maximilian Gaukler)\u003c/li\u003e\n\u003cli\u003eAdded rank() function for matrices, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/610\"\u003e#610\u003c/a\u003e (Jan-Philipp Hoffmann)\u003c/li\u003e\n\u003cli\u003eAdd plus flag to select the B_1 sign convention for bernoulli/bernfrac, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/724\"\u003e#724\u003c/a\u003e (Jeremy Tan Jie Rui, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpf.as_integer_ratio() method, support construction of mpf from Decimal objects, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/731\"\u003e#731\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eExpose lower/upper_gamma functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/740\"\u003e#740\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport mpc initialization from string, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/743\"\u003e#743\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport asinh/acosh/atanh in the fp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/750\"\u003e#750\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport binary/octal/hexadecimal string output, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/711\"\u003e#711\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport pickling for matrices and mpi, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/761\"\u003e#761\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport matrix.__array__() dunder method, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/767\"\u003e#767\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport more number syntaxes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/778\"\u003e#778\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRun mpmath as a module for interactive work, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/773\"\u003e#773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/923\"\u003e#923\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/931\"\u003e#931\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/939\"\u003e#939\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/954\"\u003e#954\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd signed option to to_man_exp(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/783\"\u003e#783\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd fp.hypot, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/798\"\u003e#798\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport inf/nan's in ctx.almosteq(), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/802\"\u003e#802\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.__format__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/819\"\u003e#819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/850\"\u003e#850\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/859\"\u003e#859\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/857\"\u003e#857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/881\"\u003e#881\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/944\"\u003e#944\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport conversion from scalar ndarray's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/821\"\u003e#821\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding modes in mpf.__format__, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/823\"\u003e#823\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/834\"\u003e#834\u003c/a\u003e and \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/pcalnon/juniper-canopy/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcalnon%2Fjuniper-canopy/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2026-02-26T09:16:03.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"3994298458","node_id":"PR_kwDORVpyr87GemMH","number":4,"state":"closed","title":"deps: bump the python-minor group with 56 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-27T09:25:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-26T09:16:03.000Z","updated_at":"2026-02-27T09:25:52.000Z","time_to_close":86987,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":56,"packages":[{"name":"torch","old_version":"2.9.1","new_version":"2.10.0+cpu"},{"name":"anyio","old_version":"4.12.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"coverage","old_version":"7.12.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"fastapi","old_version":"0.123.9","new_version":"0.133.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"filelock","old_version":"3.20.2","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.16","repository_url":"https://github.com/pre-commit/identify"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"networkx","old_version":"3.6","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"12.1.0","new_version":"12.1.1","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"plotly","old_version":"6.5.0","new_version":"6.5.2","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"psutil","old_version":"7.1.3","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pyparsing","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"python-multipart","old_version":"0.0.20","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"scipy","old_version":"1.16.3","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"starlette","old_version":"0.50.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.38.0","new_version":"0.41.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"fastapi-cli","old_version":"0.0.16","new_version":"0.0.24","repository_url":"https://github.com/fastapi/fastapi-cli"},{"name":"flake8-simplify","old_version":"0.22.0","new_version":"0.30.0","repository_url":"https://github.com/MartinThoma/flake8-simplify"},{"name":"gmpy2","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/gmpy2/gmpy2"},{"name":"importlib-metadata","old_version":"8.7.0","new_version":"8.7.1","repository_url":"https://github.com/python/importlib_metadata"},{"name":"maison","old_version":"2.0.0","new_version":"2.0.2","repository_url":"https://github.com/dbatten/maison"},{"name":"narwhals","old_version":"2.13.0","new_version":"2.17.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.19.0.56"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.3"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.3.20","new_version":"3.5.19"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"rich-toolkit","old_version":"0.17.0","new_version":"0.19.7"},{"name":"ruyaml","old_version":"0.0.0","new_version":"0.91.0","repository_url":"https://github.com/pycontribs/ruyaml"},{"name":"tomli","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"triton","old_version":"3.5.1","new_version":"3.6.0","repository_url":"https://github.com/triton-lang/triton"},{"name":"typer","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"typer-slim","old_version":"0.20.0","new_version":"0.24.0","repository_url":"https://github.com/fastapi/typer"},{"name":"ukkonen","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/asottile/ukkonen"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"yamllint","old_version":"1.37.1","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| torch | `2.9.1` | `2.10.0+cpu` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.0` | `4.12.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.12.0` | `7.13.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.123.9` | `0.133.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.2` | `3.24.3` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.16` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [networkx](https://github.com/networkx/networkx) | `3.6` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.1.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.0` | `6.5.2` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.3` | `7.2.2` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.1` | `3.3.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.1` | `9.0.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.22` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.16.3` | `1.17.1` |\n| [starlette](https://github.com/Kludex/starlette) | `0.50.0` | `0.52.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.41.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.6` |\n| [fastapi-cli](https://github.com/fastapi/fastapi-cli) | `0.0.16` | `0.0.24` |\n| [flake8-simplify](https://github.com/MartinThoma/flake8-simplify) | `0.22.0` | `0.30.0` |\n| [gmpy2](https://github.com/gmpy2/gmpy2) | `2.2.1` | `2.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.0` | `8.7.1` |\n| [maison](https://github.com/dbatten/maison) | `2.0.0` | `2.0.2` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.13.0` | `2.17.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.19.0.56` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.3` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.3.20` | `3.5.19` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| rich-toolkit | `0.17.0` | `0.19.7` |\n| [ruyaml](https://github.com/pycontribs/ruyaml) | `0.0.0` | `0.91.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` |\n| [triton](https://github.com/triton-lang/triton) | `3.5.1` | `3.6.0` |\n| [typer](https://github.com/fastapi/typer) | `0.20.0` | `0.24.1` |\n| [typer-slim](https://github.com/fastapi/typer) | `0.20.0` | `0.24.0` |\n| [ukkonen](https://github.com/asottile/ukkonen) | `1.0.1` | `1.1.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.19.0` | `1.19.1` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.1` | `1.38.0` |\n\nUpdates `torch` from 2.9.1 to 2.10.0+cpu\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 `coverage` from 7.12.0 to 7.13.4\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.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4f78d57f83ff8a4976043e8a8fcea24b91891840\"\u003e\u003ccode\u003e4f78d57\u003c/code\u003e\u003c/a\u003e build: no need to publish status.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f8616ff5e6386648aa40300e36c6cecda79a1faa\"\u003e\u003ccode\u003ef8616ff\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fcf8c68db986970e6000bf75ec3c3115ede867df\"\u003e\u003ccode\u003efcf8c68\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/189ecfd000867e5c74e7d74ee3bd75742d5d584d\"\u003e\u003ccode\u003e189ecfd\u003c/code\u003e\u003c/a\u003e docs: thanks Pankhudi Jain for ppc64le wheels \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/58aade0eb92d9d1e3755c65a5cf7a951e7bd6c6a\"\u003e\u003ccode\u003e58aade0\u003c/code\u003e\u003c/a\u003e build: add support for ppc64le architecture (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ea42c874fbfc96535156300225bda22bc93ac68\"\u003e\u003ccode\u003e8ea42c8\u003c/code\u003e\u003c/a\u003e chore: bump actions/attest-build-provenance (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c09595f70758b78156efbd7c8f034799d09322aa\"\u003e\u003ccode\u003ec09595f\u003c/code\u003e\u003c/a\u003e docs: Janine put a lot of effort into debugging issue \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2128\"\u003e#2128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8ee1760f40b8822aa2b11ff95ab63481be68a8a0\"\u003e\u003ccode\u003e8ee1760\u003c/code\u003e\u003c/a\u003e docs: Greg wrote a great issue: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003e#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/76ba0437611fc2787cb0450dc94b02bc2848fdee\"\u003e\u003ccode\u003e76ba043\u003c/code\u003e\u003c/a\u003e docs: thanks, Noah Fatsi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/371fcc5727e9d8fba816061756af94646b4bcfbb\"\u003e\u003ccode\u003e371fcc5\u003c/code\u003e\u003c/a\u003e fix: set fixed paths_list in TreeMatcher init (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.12.0...7.13.4\"\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.9 to 0.133.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\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.133.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Add support for Starlette 1.0.0+. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14987\"\u003e#14987\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.132.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Refactor logic to handle OpenAPI and Swagger UI escaping data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14986\"\u003e#14986\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 FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14972\"\u003e#14972\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👷 Allow skipping \u003ccode\u003ebenchmark\u003c/code\u003e job in \u003ccode\u003etest\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14974\"\u003e#14974\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.132.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔒️ Add \u003ccode\u003estrict_content_type\u003c/code\u003e checking for JSON requests. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14978\"\u003e#14978\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNow FastAPI checks, by default, that JSON requests have a \u003ccode\u003eContent-Type\u003c/code\u003e header with a valid JSON value, like \u003ccode\u003eapplication/json\u003c/code\u003e, and rejects requests that don't.\u003c/li\u003e\n\u003cli\u003eIf the clients for your app don't send a valid \u003ccode\u003eContent-Type\u003c/code\u003e header you can disable this with \u003ccode\u003estrict_content_type=False\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCheck the new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/strict-content-type/\"\u003eStrict Content-Type Checking\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump flask from 3.1.2 to 3.1.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14949\"\u003e#14949\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Update all dependencies to use \u003ccode\u003egriffelib\u003c/code\u003e instead of \u003ccode\u003egriffe\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14973\"\u003e#14973\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Fix \u003ccode\u003eFastAPI People\u003c/code\u003e workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14951\"\u003e#14951\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👷 Do not run codspeed with coverage as it's not tracked. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14966\"\u003e#14966\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👷 Do not include benchmark tests in coverage to speed up coverage processing. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14965\"\u003e#14965\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.131.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🗑️ Deprecate \u003ccode\u003eORJSONResponse\u003c/code\u003e and \u003ccode\u003eUJSONResponse\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14964\"\u003e#14964\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.130.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14962\"\u003e#14962\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/a4ad07b48aa4dca35c3325ec2fe5485676a542c8\"\u003e\u003ccode\u003ea4ad07b\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/728b097564f8cd70fc9541a6b1b0bc8d20926ede\"\u003e\u003ccode\u003e728b097\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.133.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/84a8760a80d6b24a9a67f10f2e16e57a527aec0f\"\u003e\u003ccode\u003e84a8760\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4d78ca6f95297e86a7873ccbcd418354e46876a0\"\u003e\u003ccode\u003e4d78ca6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4fce9ce17291423baf68b5ffb7a01a8f344bf08f\"\u003e\u003ccode\u003e4fce9ce\u003c/code\u003e\u003c/a\u003e 🔧 Add FastAPI Agents Skill (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14982\"\u003e#14982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2b476737b8ed6aa8a42acd5a8e912656d08f15de\"\u003e\u003ccode\u003e2b47673\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1fa1065f9e998f6e7baac52391b61132696c1de7\"\u003e\u003ccode\u003e1fa1065\u003c/code\u003e\u003c/a\u003e ✅ Fix all tests are skipped on Windows (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14994\"\u003e#14994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/daba0aa328c862dd15589ea5e3157e07aaa9679d\"\u003e\u003ccode\u003edaba0aa\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.133.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/0c3581d5c45dd7603b01a2401c7783a2abfb362e\"\u003e\u003ccode\u003e0c3581d\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c73bc945374cdabc6ce84bff7b172a2e7056350e\"\u003e\u003ccode\u003ec73bc94\u003c/code\u003e\u003c/a\u003e ⬆️ Add support for Starlette 1.0.0+ (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14987\"\u003e#14987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.123.9...0.133.1\"\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.2 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.2...3.24.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\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/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `identify` from 2.6.15 to 2.6.16\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/e31a62bc9f952165a259f30abcf13593fff3d128\"\u003e\u003ccode\u003ee31a62b\u003c/code\u003e\u003c/a\u003e v2.6.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/de8beb6c08e969fe1a6e7ac40562377f091d5414\"\u003e\u003ccode\u003ede8beb6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/558\"\u003e#558\u003c/a\u003e from seanbudd/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/b5574acd3dd338bfe208c0098a90a416e2e2d47a\"\u003e\u003ccode\u003eb5574ac\u003c/code\u003e\u003c/a\u003e Add support for '.xliff' file extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/059831f59cb4547b1f1a8b6903fb4050e6d4c99b\"\u003e\u003ccode\u003e059831f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/555\"\u003e#555\u003c/a\u003e from Roxedus/feat/ipxe\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/7e6b5418212f382255b890d51eabc86beacf778b\"\u003e\u003ccode\u003e7e6b541\u003c/code\u003e\u003c/a\u003e Add .ipxe extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/9e787921be557b6a2d836439add7f227e004e7e2\"\u003e\u003ccode\u003e9e78792\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/554\"\u003e#554\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/a35c416b4e246e47381cfafa775ae5f05b1d0d04\"\u003e\u003ccode\u003ea35c416\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/5cab69e4fd737a925f5e69d99bd62c3367106e99\"\u003e\u003ccode\u003e5cab69e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/553\"\u003e#553\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/c8edd7e6461ce5e05273806cec424b981fdac34c\"\u003e\u003ccode\u003ec8edd7e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/identify/commit/47d582b18cd7621f33fe5f60d551a66600c1dcfb\"\u003e\u003ccode\u003e47d582b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/identify/issues/551\"\u003e#551\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/identify/compare/v2.6.15...v2.6.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mpmath` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mpmath/mpmath/releases\"\u003empmath's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport underscores as digit separators per PEP 515, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/661\"\u003e#661\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd rationals converter for mpf's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/666\"\u003e#666\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRewrite bernpoly/eulerpoly to avoid dependency on bernoulli(1) convention, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/700\"\u003e#700\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport base kwarg for from_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/703\"\u003e#703\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport randmatrix() for mp.iv and mp contexts, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/527\"\u003e#527\u003c/a\u003e (Maximilian Gaukler)\u003c/li\u003e\n\u003cli\u003eAdded rank() function for matrices, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/610\"\u003e#610\u003c/a\u003e (Jan-Philipp Hoffmann)\u003c/li\u003e\n\u003cli\u003eAdd plus flag to select the B_1 sign convention for bernoulli/bernfrac, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/724\"\u003e#724\u003c/a\u003e (Jeremy Tan Jie Rui, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpf.as_integer_ratio() method, support construction of mpf from Decimal objects, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/731\"\u003e#731\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eExpose lower/upper_gamma functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/740\"\u003e#740\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport mpc initialization from string, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/743\"\u003e#743\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport asinh/acosh/atanh in the fp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/750\"\u003e#750\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport binary/octal/hexadecimal string output, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/711\"\u003e#711\u003c/a\u003e (Jonathan Warner, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport pickling for matrices and mpi, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/761\"\u003e#761\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport matrix.__array__() dunder method, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/767\"\u003e#767\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport more number syntaxes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/778\"\u003e#778\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRun mpmath as a module for interactive work, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/773\"\u003e#773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/923\"\u003e#923\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/931\"\u003e#931\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/939\"\u003e#939\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/954\"\u003e#954\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd signed option to to_man_exp(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/783\"\u003e#783\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd fp.hypot, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/798\"\u003e#798\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport inf/nan's in ctx.almosteq(), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/802\"\u003e#802\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.__format__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/819\"\u003e#819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/850\"\u003e#850\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/859\"\u003e#859\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/857\"\u003e#857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/881\"\u003e#881\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/944\"\u003e#944\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport conversion from scalar ndarray's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/821\"\u003e#821\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding modes in mpf.__format__, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/823\"\u003e#823\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/834\"\u003e#834\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/969\"\u003e#969\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport '%' presentation type for mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/847\"\u003e#847\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport gmpy2-like rounding modes in to_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/830\"\u003e#830\u003c/a\u003e (Javier Garcia)\u003c/li\u003e\n\u003cli\u003eImplement 'a'/'A' formating types for mpf.__format__, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/841\"\u003e#841\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/870\"\u003e#870\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpc.__format__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/855\"\u003e#855\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eNow mpf.__round__() returns mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/826\"\u003e#826\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport 'b' (binary) format type for mpf/mpc, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/867\"\u003e#867\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.__floordiv__() and mpf.__divmod__(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/873\"\u003e#873\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd parameters for MPContext constructor, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/876\"\u003e#876\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/963\"\u003e#963\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd MPFR-compatible aliases for rounding modes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/892\"\u003e#892\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport negative indexes in matrix, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/897\"\u003e#897\u003c/a\u003e (Riccardo Orsi)\u003c/li\u003e\n\u003cli\u003eBetter introspection support for decorated functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/900\"\u003e#900\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd moving sofa demo, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/924\"\u003e#924\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport spherical Bessel functions (jn/yn), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/935\"\u003e#935\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd pretty_dps context property to control number of printed digits, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/933\"\u003e#933\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport thousands separators for formatting of fractional part, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/925\"\u003e#925\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eUse PyREPL, as fallback (no IPython), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/941\"\u003e#941\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd exp2() and log2(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/948\"\u003e#948\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding property for the mp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/963\"\u003e#963\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd Fox H-function with rational A/B parameters (foxh()), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/982\"\u003e#982\u003c/a\u003e (Hongren Zheng)\u003c/li\u003e\n\u003cli\u003eProvide experimental support for free-threading builds, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/993\"\u003e#993\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCompatibility:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 2 support, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/629\"\u003e#629\u003c/a\u003e (Fangchen Li)\u003c/li\u003e\n\u003cli\u003eDrop support for Python versions \u0026lt; 3.9, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/675\"\u003e#675\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/911\"\u003e#911\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/mpmath/mpmath/blob/master/CHANGES\"\u003empmath's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e--1.4.0--\nReleased February 23, 2026\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport underscores as digit separators per PEP 515, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/661\"\u003e#661\u003c/a\u003e (Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eAdd rationals converter for mpf's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/666\"\u003e#666\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRewrite bernpoly/eulerpoly to avoid dependency on bernoulli(1) convention,\nsee \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/700\"\u003e#700\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport base kwarg for from_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/703\"\u003e#703\u003c/a\u003e (Jonathan Warner, Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eSupport randmatrix() for mp.iv and mp contexts, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/527\"\u003e#527\u003c/a\u003e (Maximilian\nGaukler)\u003c/li\u003e\n\u003cli\u003eAdded rank() function for matrices, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/610\"\u003e#610\u003c/a\u003e (Jan-Philipp Hoffmann)\u003c/li\u003e\n\u003cli\u003eAdd plus flag to select the B_1 sign convention for bernoulli/bernfrac, see\n\u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/724\"\u003e#724\u003c/a\u003e (Jeremy Tan Jie Rui, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpf.as_integer_ratio() method, support construction of mpf from Decimal\nobjects, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/731\"\u003e#731\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eExpose lower/upper_gamma functions, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/740\"\u003e#740\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport mpc initialization from string, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/743\"\u003e#743\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport asinh/acosh/atanh in the fp context, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/750\"\u003e#750\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport binary/octal/hexadecimal string output, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/711\"\u003e#711\u003c/a\u003e (Jonathan Warner,\nSergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport pickling for matrices and mpi, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/761\"\u003e#761\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport matrix.\u003cstrong\u003earray\u003c/strong\u003e() dunder method, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/767\"\u003e#767\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport more number syntaxes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/778\"\u003e#778\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eRun mpmath as a module for interactive work, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/773\"\u003e#773\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/923\"\u003e#923\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/931\"\u003e#931\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/936\"\u003e#936\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/939\"\u003e#939\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/954\"\u003e#954\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd signed option to to_man_exp(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/783\"\u003e#783\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd fp.hypot, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/798\"\u003e#798\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport inf/nan's in ctx.almosteq(), \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/802\"\u003e#802\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.\u003cstrong\u003eformat\u003c/strong\u003e(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/819\"\u003e#819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/850\"\u003e#850\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/859\"\u003e#859\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/857\"\u003e#857\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/881\"\u003e#881\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/944\"\u003e#944\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport conversion from scalar ndarray's, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/821\"\u003e#821\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport rounding modes in mpf.\u003cstrong\u003eformat\u003c/strong\u003e, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/823\"\u003e#823\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/831\"\u003e#831\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/834\"\u003e#834\u003c/a\u003e\nand \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/969\"\u003e#969\u003c/a\u003e (Javier Garcia, Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport '%' presentation type for mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/847\"\u003e#847\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport gmpy2-like rounding modes in to_str(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/830\"\u003e#830\u003c/a\u003e (Javier Garcia)\u003c/li\u003e\n\u003cli\u003eImplement 'a'/'A' formating types for mpf.\u003cstrong\u003eformat\u003c/strong\u003e, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/841\"\u003e#841\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/870\"\u003e#870\u003c/a\u003e\n(Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd mpc.\u003cstrong\u003eformat\u003c/strong\u003e(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/855\"\u003e#855\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eNow mpf.\u003cstrong\u003eround\u003c/strong\u003e() returns mpf, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/826\"\u003e#826\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/966\"\u003e#966\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eSupport 'b' (binary) format type for mpf/mpc, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/867\"\u003e#867\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eImplement mpf.\u003cstrong\u003efloordiv\u003c/strong\u003e() and mpf.\u003cstrong\u003edivmod\u003c/strong\u003e(), see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/873\"\u003e#873\u003c/a\u003e (Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eAdd parameters for MPContext constructor, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/876\"\u003e#876\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/963\"\u003e#963\u003c/a\u003e (Sergey B Kirpichev)\u003c/li\u003e\n\u003cli\u003eAdd MPFR-compatible aliases for rounding modes, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/892\"\u003e#892\u003c/a\u003e (Sergey B\nKirpichev)\u003c/li\u003e\n\u003cli\u003eSupport negative indexes in matrix, see \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/897\"\u003e#897\u003c/a\u003e (Riccardo Orsi)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/f3e9cf0706b6e3b02a0124e5a367078283a3ce03\"\u003e\u003ccode\u003ef3e9cf0\u003c/code\u003e\u003c/a\u003e Update CHANGES (free-threading support)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/8a01b18638e66b7f5931d572311636e6e3f394f5\"\u003e\u003ccode\u003e8a01b18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1032\"\u003e#1032\u003c/a\u003e from skirpichev/release-v1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/acd4b569d48bf6e18de89431f4e9c5aa6ba097ea\"\u003e\u003ccode\u003eacd4b56\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/2933f42ad59146cb44408e8259137d93eb1ae4bc\"\u003e\u003ccode\u003e2933f42\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into release-v1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/711d3c368168348e35363b8d0edd0d19710cf1f4\"\u003e\u003ccode\u003e711d3c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1043\"\u003e#1043\u003c/a\u003e from skirpichev/revert-949\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/7cf16b782857a0f4edc5ae0a09fdc784a202ab99\"\u003e\u003ccode\u003e7cf16b7\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add isspecial() method for mp/fp contexts, deprecate isnormal()\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/34cc1f814750187c144abcf19297f7a775128fda\"\u003e\u003ccode\u003e34cc1f8\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/1e0dc7b3070d0e569b84c0377a68e2dd9c88ce41\"\u003e\u003ccode\u003e1e0dc7b\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into release-v1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/c7128a6ac5268cc0f7a71e06e67a81f92f1c0ed0\"\u003e\u003ccode\u003ec7128a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1041\"\u003e#1041\u003c/a\u003e from skirpichev/fix-459\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mpmath/mpmath/commit/81034e8648264a7d6a34cb1d28b0a34b2a18e8df\"\u003e\u003ccode\u003e81034e8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mpmath/mpmath/issues/1042\"\u003e#1042\u003c/a\u003e from skirpichev/backport-action\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mpmath/mpmath/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.6 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\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/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.6...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.5 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30629\"\u003e#30629\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\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/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.5...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 12.1.0 to 12.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.1.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch libavif for svt-av1 4.0 compatibility \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9413\"\u003e#9413\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix OOB Write with invalid tile extents \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9427\"\u003e#9427\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\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/python-pillow/Pillow/commit/5158d98c807e719c5938aa3886913ef0ea6814e9\"\u003e\u003ccode\u003e5158d98\u003c/code\u003e\u003c/a\u003e 12.1....\n\n_Description has been truncated_","html_url":"https://github.com/pcalnon/juniper-canopy/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcalnon%2Fjuniper-canopy/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2026-01-20T13:36:37.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"3833780166","node_id":"PR_kwDOK0jo8s6-N6tJ","number":80,"state":"closed","title":"chore(deps): bump the python-packages group with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-26T00:38:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-20T13:36:37.000Z","updated_at":"2026-01-26T00:38:20.000Z","time_to_close":471695,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2026-01-19T15:34:18.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"3830227459","node_id":"PR_kwDOK0jo8s6-CNhs","number":79,"state":"closed","title":"chore(deps): bump the python-packages group with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-19T19:01:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-19T15:34:18.000Z","updated_at":"2026-01-19T19:02:07.000Z","time_to_close":12461,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2026-01-07T22:19:30.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"3790548778","node_id":"PR_kwDOK0jo8s68AEN8","number":78,"state":"closed","title":"chore(deps): bump the python-packages group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-18T18:38:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T22:19:30.000Z","updated_at":"2026-01-18T18:38:39.000Z","time_to_close":937141,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates in the / directory: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"}},{"old_version":"1.19.0","new_version":"1.19.1","update_type":"patch","path":null,"pr_created_at":"2025-12-29T13:19:09.000Z","version_change":"1.19.0 → 1.19.1","issue":{"uuid":"3767395360","node_id":"PR_kwDOK0jo8s660zFG","number":73,"state":"closed","title":"chore(deps): bump the python-packages group with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-06T13:24:14.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-29T13:19:09.000Z","updated_at":"2026-01-06T13:24:15.000Z","time_to_close":691505,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.1","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"yamlfix","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"pyroma","old_version":"5.0","new_version":"5.0.1","repository_url":"https://github.com/regebro/pyroma"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [yamlfix](https://github.com/lyz-code/yamlfix) and [pyroma](https://github.com/regebro/pyroma).\n\nUpdates `pyparsing` from 3.2.5 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.3.1 - December, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded license info to metadata, following PEP-639. Thanks to Gedalia Pasternak and\nMarc Mueller for submitted issue and PR. Fixes \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/626\"\u003e#626\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.3.0 - December, 2025\u003c/h2\u003e\n\u003cp\u003e===========================================================================================\nThe version 3.3.0 release will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e for pyparsing methods\nthat have been renamed to PEP8-compliant names (introduced in pyparsing 3.0.0, in August,\n2021, with legacy names retained as aliases). In preparation, I added in pyparsing\n3.2.2 a utility for finding and replacing the legacy method names with the new names.\nThis utility is located at \u003ccode\u003epyparsing/tools/cvt_pep8_names.py\u003c/code\u003e. This script will scan all\nPython files specified on the command line, and if the \u003ccode\u003e-u\u003c/code\u003e option is selected, will\nreplace all occurrences of the old method names with the new PEP8-compliant names,\nupdating the files in place.\u003c/p\u003e\n\u003cp\u003eHere is an example that converts all the files in the pyparsing \u003ccode\u003e/examples\u003c/code\u003e directory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  python -m pyparsing.tools.cvt_pyparsing_pep8_names -u examples/*.py\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eThe new names are compatible with pyparsing versions 3.0.0 and later.\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003eindentedBlock\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes will be required.\nThis is because the new \u003ccode\u003eIndentedBlock\u003c/code\u003e class no longer requires the calling code\nto supply an indent stack, while adding support for nested indentation levels\nand grouping.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecated \u003ccode\u003elocatedExpr\u003c/code\u003e, when converted using the \u003ccode\u003ecvt_pyparsing_pep8_names\u003c/code\u003e\nutility, will emit \u003ccode\u003eUserWarnings\u003c/code\u003e that additional code changes may be required.\nThe new \u003ccode\u003eLocated\u003c/code\u003e class removes the extra grouping level of the parsed values.\n(If the original \u003ccode\u003elocatedExpr\u003c/code\u003e parser was defined with a results name, then\nthe extra grouping is retained, so that the results name nesting works properly;\nin this case, no code changes would be required.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated all examples and test cases to use PEP8 names (unless the test case is specifically\ndesigned to test behavior of a legacy method). Added railroad diagrams for some examples.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded exception handling when calling \u003ccode\u003eformatted_message()\u003c/code\u003e, so that \u003ccode\u003estr(exception)\u003c/code\u003e\nalways returns at least \u003cem\u003esomething\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAll unit tests pass with Python 3.14, including 3.14t. This does \u003cem\u003enot\u003c/em\u003e necessarily\nmean that pyparsing is now thread-safe, just that when run in the free-threaded\ninterpreter, there were no errors. None of the unit tests try to do any parsing\nwith multiple threads - they test the basic functionality of the library, under various\nversions of packrat and left-recursive parsing.\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/pyparsing/pyparsing/commit/d73ce7a89cf640db26a84c5084c503a2cc3d6297\"\u003e\u003ccode\u003ed73ce7a\u003c/code\u003e\u003c/a\u003e Update CHANGES file to reflect PR 627\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/1089724d6cf3e144215e883eb3c5fbe02105527f\"\u003e\u003ccode\u003e1089724\u003c/code\u003e\u003c/a\u003e Mark for 3.3.1 dev/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/421d20a8ba5cae704d2549f873879447a067c4e2\"\u003e\u003ccode\u003e421d20a\u003c/code\u003e\u003c/a\u003e Update license metadata to follow PEP 639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e4895d3d9e79a8ecacc8a8c8fd737aa5147683a5\"\u003e\u003ccode\u003ee4895d3\u003c/code\u003e\u003c/a\u003e Reduced recursive grammar in tiny_parser.py to avoid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/b6b01110f934667c45414cef316619a273b088c7\"\u003e\u003ccode\u003eb6b0111\u003c/code\u003e\u003c/a\u003e Blackening before releasing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/7fbbcbd91b9124e80d974a53e0d3d8a307a1dc26\"\u003e\u003ccode\u003e7fbbcbd\u003c/code\u003e\u003c/a\u003e Revert transform_string perf penalty in _flatten (introduced in 3.2.0b2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/336647a6b172497255c626c2cb03221cf2038eaa\"\u003e\u003ccode\u003e336647a\u003c/code\u003e\u003c/a\u003e Update perf scripts to run additional 3.2.x releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6413afca276e2cb1b3a57e7f3bca55542ea366f5\"\u003e\u003ccode\u003e6413afc\u003c/code\u003e\u003c/a\u003e Prep for 3.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9223660f41e8fffa1c2668e8564d443085396f66\"\u003e\u003ccode\u003e9223660\u003c/code\u003e\u003c/a\u003e Added copyright line to LICENSE file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/92d83682bbc928714edc4b078ac764dd9dd00051\"\u003e\u003ccode\u003e92d8368\u003c/code\u003e\u003c/a\u003e Remove obsolete comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.5...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.19.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.1 (2025-12-18)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\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/lyz-code/yamlfix/commit/f857ca370af3db7e5e181373d45c06a148fac3f8\"\u003e\u003ccode\u003ef857ca3\u003c/code\u003e\u003c/a\u003e bump: version 1.19.0 → 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/67e00a9227041369e9ec7f9ff757181cb7706959\"\u003e\u003ccode\u003e67e00a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/305\"\u003e#305\u003c/a\u003e from wsnyder/bug282_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/60f84dac52acc11f49b5a9d2447716444f8e7c59\"\u003e\u003ccode\u003e60f84da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/306\"\u003e#306\u003c/a\u003e from wsnyder/ci_security\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/de50bfb4fdf43b8921ce3cfe02c2be1833188b28\"\u003e\u003ccode\u003ede50bfb\u003c/code\u003e\u003c/a\u003e fix: disabling # reindentation inside quote (\u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/262d7684256bb6b352a58453223e31a570d8ea72\"\u003e\u003ccode\u003e262d768\u003c/code\u003e\u003c/a\u003e ci: disable security test that fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1f8291d769cbf3521d6d060e102e99aa8f32ef70\"\u003e\u003ccode\u003e1f8291d\u003c/code\u003e\u003c/a\u003e ci(build): use github_token well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/5a22551e4a93d74e32ecb2cb051b6ef694f7bc28\"\u003e\u003ccode\u003e5a22551\u003c/code\u003e\u003c/a\u003e ci(buidl): disable Pypi upload to test and use GITHUB_TOKEN for the documenta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/560283d5eb77675e2b2eb071bb7dfac1f2477e57\"\u003e\u003ccode\u003e560283d\u003c/code\u003e\u003c/a\u003e ci: fix build pipeline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.19.0...1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyroma` from 5.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/regebro/pyroma/blob/master/CHANGES.txt\"\u003epyroma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1 (2025-12-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003echeck-manifest was missing from the requirements list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePassing in multiple tests to be skipped now actually works. [Matt Norton]\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/regebro/pyroma/commit/dd478a67d029502036973a9f596ec4b2c0614bf7\"\u003e\u003ccode\u003edd478a6\u003c/code\u003e\u003c/a\u003e Preparing release 5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/347aee88c82a62fb7648ff46d2c5cc4974e80e7e\"\u003e\u003ccode\u003e347aee8\u003c/code\u003e\u003c/a\u003e Comments, updates, contributor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/edc73191ae1f0fb1db50a3915436aba29c131e59\"\u003e\u003ccode\u003eedc7319\u003c/code\u003e\u003c/a\u003e Fix only skipping last listed test in CLI arg (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/fe721451f6acdc92a2429f0f4cc58863f6b9b2b2\"\u003e\u003ccode\u003efe72145\u003c/code\u003e\u003c/a\u003e Updated GitHub Actions (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/e3acb372d5ab05111476e41ec0a2c2481cdd5c22\"\u003e\u003ccode\u003ee3acb37\u003c/code\u003e\u003c/a\u003e Switch to tox in make as well (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/9723f4105df27e5fc7b80dbff21a7ba546408b25\"\u003e\u003ccode\u003e9723f41\u003c/code\u003e\u003c/a\u003e Fixed typo (\u003ca href=\"https://redirect.github.com/regebro/pyroma/issues/117\"\u003e#117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/regebro/pyroma/commit/8ee23ca7c5a8d86bcc2f62f55fc11d89bd72f877\"\u003e\u003ccode\u003e8ee23ca\u003c/code\u003e\u003c/a\u003e Back to development: 5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/regebro/pyroma/compare/5.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/73","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/73","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/73/packages"}},{"old_version":"1.18.0","new_version":"1.19.0","update_type":"minor","path":null,"pr_created_at":"2025-10-13T13:42:38.000Z","version_change":"1.18.0 → 1.19.0","issue":{"uuid":"3510134905","node_id":"PR_kwDOK0jo8s6td8W6","number":55,"state":"closed","title":"chore(deps): bump the python-packages group with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-15T13:24:41.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T13:42:38.000Z","updated_at":"2025-10-15T13:24:43.000Z","time_to_close":171723,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":2,"packages":[{"name":"yamlfix","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"invoke","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/pyinvoke/invoke"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 2 updates: [yamlfix](https://github.com/lyz-code/yamlfix) and [invoke](https://github.com/pyinvoke/invoke).\n\nUpdates `yamlfix` from 1.18.0 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.19.0 (2025-10-12)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `invoke` from 2.2.0 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/26efe98365b8ffc52a925bc60d8cb7b16601a91d\"\u003e\u003ccode\u003e26efe98\u003c/code\u003e\u003c/a\u003e Cut 2.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/294ea5d57a9cfd66be5b02110d5895cfc3a692b6\"\u003e\u003ccode\u003e294ea5d\u003c/code\u003e\u003c/a\u003e Merge branch '2.1' into 2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/283d4fbb6b8808ec57c2b3cc8afe04f36766699e\"\u003e\u003ccode\u003e283d4fb\u003c/code\u003e\u003c/a\u003e Cut 2.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/b06a3a43cf78009b16ea660e200c7e01dd96fadf\"\u003e\u003ccode\u003eb06a3a4\u003c/code\u003e\u003c/a\u003e Merge branch '2.1' into 2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/c03ed2299813ae8bb270eb794305619002fce3f5\"\u003e\u003ccode\u003ec03ed22\u003c/code\u003e\u003c/a\u003e Include newer Python releases in CI config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/87c5032a80fbc857eccc959518d563dda6ad864e\"\u003e\u003ccode\u003e87c5032\u003c/code\u003e\u003c/a\u003e Changelog re \u003ca href=\"https://redirect.github.com/pyinvoke/invoke/issues/1038\"\u003e#1038\u003c/a\u003e, re \u003ca href=\"https://redirect.github.com/pyinvoke/invoke/issues/1040\"\u003e#1040\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/89167c16bfb50c6a5045e64072a8d78fb89a78c8\"\u003e\u003ccode\u003e89167c1\u003c/code\u003e\u003c/a\u003e handle TIOCGWINSZ struct correctly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/506bf4e020c177a03cf4257a22969bad0845e4ee\"\u003e\u003ccode\u003e506bf4e\u003c/code\u003e\u003c/a\u003e Merge branch '2.1' into 2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/0a020daccd0edf034775c00fd04484a5295609ee\"\u003e\u003ccode\u003e0a020da\u003c/code\u003e\u003c/a\u003e Merge branch '2.0' into 2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyinvoke/invoke/commit/b8a1b5b6e1f13a4200bf32d5611b6b337de86a9c\"\u003e\u003ccode\u003eb8a1b5b\u003c/code\u003e\u003c/a\u003e Add a security policy pointing to Tidelift\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyinvoke/invoke/compare/2.2.0...2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":null,"pr_created_at":"2025-10-02T13:23:42.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"2881788134","node_id":"PR_kwDOK0jo8s6rxJjm","number":49,"state":"closed","title":"chore(deps): bump the python-packages group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-04T14:42:37.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-02T13:23:42.000Z","updated_at":"2025-10-04T14:42:37.000Z","time_to_close":177535,"merged_at":"2025-10-04T14:42:36.000Z","merged_by":"mpenning","closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":6,"packages":[{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"libpass","old_version":"1.9.1.post0","new_version":"1.9.2","repository_url":"https://github.com/notypecheck/passlib"},{"name":"hypothesis","old_version":"6.137.2","new_version":"6.140.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [libpass](https://github.com/notypecheck/passlib) | `1.9.1.post0` | `1.9.2` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.137.2` | `6.140.2` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [yamlfix](https://github.com/lyz-code/yamlfix) | `1.17.0` | `1.18.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.28.4` | `4.30.2` |\n\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\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/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libpass` from 1.9.1.post0 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/notypecheck/passlib/releases\"\u003elibpass's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: pin bcrypt to \u003ccode\u003e\u0026lt;5.0.0\u003c/code\u003e, thanks to \u003ca href=\"https://github.com/mo7ty\"\u003e\u003ccode\u003e@​mo7ty\u003c/code\u003e\u003c/a\u003e for bringing attention to the issue and drafting the initial PR\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ebcrypt 5.0.0 introduces a breaking change - hashpw raises ValueError if password would be truncated by bcrypt, in future versions \u003ccode\u003epasslib.exc.PasswordTruncateError\u003c/code\u003e will be raised when trying to hash passwords with length greater than 72 bytes\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/notypecheck/passlib/compare/1.9.1...1.9.2\"\u003ehttps://github.com/notypecheck/passlib/compare/1.9.1...1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/notypecheck/passlib/blob/main/CHANGELOG.md\"\u003elibpass's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2 (2025-10-01)\u003c/h2\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin bcrypt to \u003ccode\u003e\u0026lt;5.0.0\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/a6bf67718a196a19d1e1a125a756f01a28ded2b0\"\u003e\u003ccode\u003ea6bf677\u003c/code\u003e\u003c/a\u003e bump: version 1.9.1.post0 → 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/73ab6e4eb6646adbd447285f03326065105db991\"\u003e\u003ccode\u003e73ab6e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/notypecheck/passlib/issues/20\"\u003e#20\u003c/a\u003e from notypecheck/pin-bcrypt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/8e08a6a8bc92ecc636a77eb078df27f56a919adb\"\u003e\u003ccode\u003e8e08a6a\u003c/code\u003e\u003c/a\u003e update lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/8b3957e0d44dbf2fd4c686d28d4ffb33628162c4\"\u003e\u003ccode\u003e8b3957e\u003c/code\u003e\u003c/a\u003e build: pin bcrypt to \u003ccode\u003e\u0026lt;5.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/7061d86798a02a27d18eae4cfc7a6fe72df7edd8\"\u003e\u003ccode\u003e7061d86\u003c/code\u003e\u003c/a\u003e remove misleading changes from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notypecheck/passlib/commit/403ee6e533d0afe3356c7e1f8de0f6ba94de41c1\"\u003e\u003ccode\u003e403ee6e\u003c/code\u003e\u003c/a\u003e update old url in readme.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/notypecheck/passlib/compare/1.9.1.post0...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.137.2 to 6.140.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.140.2\u003c/h2\u003e\n\u003cp\u003eThe automatic switch to the CI \u0026quot;settings profile\u0026quot; now works under tox\n(for \u0026quot;tox \u0026gt;= 4.30.0\u0026quot;).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-140-2\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.140.1\u003c/h2\u003e\n\u003cp\u003eThis patch re-enables the warning for incompatible \u0026quot;shared()\u0026quot;\nstrategies that was first enabled in v6.133.0 but disabled in\nv6.135.15.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-140-1\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.140.0\u003c/h2\u003e\n\u003cp\u003e\u0026quot;characters()\u0026quot; now validates that the elements of the\n\u0026quot;exclude_characters\u0026quot; and \u0026quot;include_characters\u0026quot; arguments are single\ncharacters, which was always assumed internally. For example,\n\u0026quot;exclude_characters=[\u0026quot;a\u0026quot;, \u0026quot;b\u0026quot;]\u0026quot; is valid while\n\u0026quot;exclude_characters=[\u0026quot;ab\u0026quot;]\u0026quot; will now raise an error up-front.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-140-0\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.3\u003c/h2\u003e\n\u003cp\u003eAdd \u0026quot;phase\u0026quot; to the hypothesis-specific metadata in observability.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-3\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.2\u003c/h2\u003e\n\u003cp\u003eInternal refactoring for new lint rules.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-2\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.1\u003c/h2\u003e\n\u003cp\u003eFixed another typo in error message around function-scoped fixtures.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-1\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.139.0\u003c/h2\u003e\n\u003cp\u003eAdd \u0026quot;get_current_profile_name()\u0026quot;, which returns the name of the\ncurrent settings profile.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-139-0\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.17\u003c/h2\u003e\n\u003cp\u003eFixed typo in error message around function-scoped fixtures.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-17\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.16\u003c/h2\u003e\n\u003cp\u003eImproved error message for \u0026quot;DeadlineExceeded\u0026quot;.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/275d4964d1df8f3bcac5eef96c36407d15824b56\"\u003e\u003ccode\u003e275d496\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.140.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3b95a47cf9b9c60ff991e7d4e9166d27db3cc09b\"\u003e\u003ccode\u003e3b95a47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4553\"\u003e#4553\u003c/a\u003e from Liam-DeVoe/tox-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/549d8cda6eb4a72912791326c05932fd6d229e71\"\u003e\u003ccode\u003e549d8cd\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.140.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b3146b02162ea8d169dc13d4a5f0aef070aee440\"\u003e\u003ccode\u003eb3146b0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4509\"\u003e#4509\u003c/a\u003e from jobh/fix_shared_strategy_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/af304d95e662cfb79bd48b23f6ef13dc4ea85fbc\"\u003e\u003ccode\u003eaf304d9\u003c/code\u003e\u003c/a\u003e Remove a redundant hash in calc_label\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/43a65dc74de98efc4d6ff3898efdf0690d487e5e\"\u003e\u003ccode\u003e43a65dc\u003c/code\u003e\u003c/a\u003e Revert changes to integers/floats label calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f1e78f75bc3161d62c05bad9985da969e44797d2\"\u003e\u003ccode\u003ef1e78f7\u003c/code\u003e\u003c/a\u003e Add test for coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c5fa0d4506608725abcb001f6242a39c5be4a83e\"\u003e\u003ccode\u003ec5fa0d4\u003c/code\u003e\u003c/a\u003e formatting, lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b5dc8ff4949d7fa19076f532974eaa9a59b3873d\"\u003e\u003ccode\u003eb5dc8ff\u003c/code\u003e\u003c/a\u003e Update a test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7cb9389f53fdc59f2638772894b7896e4e057204\"\u003e\u003ccode\u003e7cb9389\u003c/code\u003e\u003c/a\u003e lint and flatmap\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.137.2...hypothesis-python-6.140.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.9.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.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\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\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\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\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.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/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows 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/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":null,"pr_created_at":"2025-09-15T14:27:10.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"2829504155","node_id":"PR_kwDOK0jo8s6ops6b","number":44,"state":"open","title":"chore(deps): bump the python-packages group with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T14:27:10.000Z","updated_at":"2025-09-15T14:27:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":4,"packages":[{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"hypothesis","old_version":"6.137.2","new_version":"6.138.16","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 4 updates: [pyparsing](https://github.com/pyparsing/pyparsing), [hypothesis](https://github.com/HypothesisWorks/hypothesis), [yamlfix](https://github.com/lyz-code/yamlfix) and [tox](https://github.com/tox-dev/tox).\n\nUpdates `pyparsing` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\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/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0b46bcd452f87c0f72007995af21a935b16b7123\"\u003e\u003ccode\u003e0b46bcd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9a898f595539169e4645f5de1703b78da9b1658c\"\u003e\u003ccode\u003e9a898f5\u003c/code\u003e\u003c/a\u003e Docs: Update API definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/45fd9722381b53e1205a0c190418b46721a224c9\"\u003e\u003ccode\u003e45fd972\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.helpers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.137.2 to 6.138.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.16\u003c/h2\u003e\n\u003cp\u003eImproved error message for \u0026quot;DeadlineExceeded\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-16\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.15\u003c/h2\u003e\n\u003cp\u003eRefactor some stateful testing internals for easier use by third-party\nlibraries.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-15\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.14\u003c/h2\u003e\n\u003cp\u003ePatch files written by hypothesis now use a deterministic ordering\nwhen multiple \u0026quot;\u003ca href=\"https://github.com/example\"\u003e\u003ccode\u003e@​example\u003c/code\u003e\u003c/a\u003e\u0026quot; decorators are present.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-14\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.13\u003c/h2\u003e\n\u003cp\u003eFix a typo affecting pretty-printing of lambdas with complex default\narguments.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-13\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.12\u003c/h2\u003e\n\u003cp\u003eImprove automatic detection of the CI profile on various vendor-\nspecific CI systems.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-12\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.11\u003c/h2\u003e\n\u003cp\u003eThis patch updates our vendored list of top-level domains, which is\nused by the provisional \u0026quot;domains()\u0026quot; strategy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-11\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.10\u003c/h2\u003e\n\u003cp\u003eInternal refactor to simplify \u0026quot;SearchStrategy\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-10\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.9\u003c/h2\u003e\n\u003cp\u003eThis patch further improves stringification of lambdas, by never\nreturning a lambda source unless it is confirmed to compile to the\nsame code object. This stricter check makes it possible to widen the\nsearch for a matching source block, so that it can often be found even\nif the file has been edited.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.8\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/HypothesisWorks/hypothesis/commit/0e30b0b0dc26cbd02436f19d653c75bc41a71f14\"\u003e\u003ccode\u003e0e30b0b\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.16 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/a50984333cb6bb08c4957753eeca4f4dd684f754\"\u003e\u003ccode\u003ea509843\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4539\"\u003e#4539\u003c/a\u003e from Liam-DeVoe/next2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3e11cf0accb79f3a75f5f3c6edd226174fc247a4\"\u003e\u003ccode\u003e3e11cf0\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c6d7060c9325ae226aa29d5bfc0cd6004623a850\"\u003e\u003ccode\u003ec6d7060\u003c/code\u003e\u003c/a\u003e remove shrinking assertion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13a52bb4de85d65f7bef2e853d0f8e608df9b217\"\u003e\u003ccode\u003e13a52bb\u003c/code\u003e\u003c/a\u003e add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6db305bd189099ac7297006d41ebe50f81678c6d\"\u003e\u003ccode\u003e6db305b\u003c/code\u003e\u003c/a\u003e remove skip (addressed better in another pr)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6057dd22779a14b6449d4764265c77f6b071480f\"\u003e\u003ccode\u003e6057dd2\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into next2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/3d2a6d1c80cfeeb0fba6438c37c94341bc3528ed\"\u003e\u003ccode\u003e3d2a6d1\u003c/code\u003e\u003c/a\u003e speed up stateful bad machines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c4588c3b3433fee1682d314f45d0e9e3f98bc3b\"\u003e\u003ccode\u003e2c4588c\u003c/code\u003e\u003c/a\u003e clarify deadline error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/db13c0458a600e1c8980ea757573b6aa3f47e0dc\"\u003e\u003ccode\u003edb13c04\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.15 and update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.137.2...hypothesis-python-6.138.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.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/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows 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/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/44","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/44","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/44/packages"}},{"old_version":"1.16.0","new_version":"1.16.1","update_type":"patch","path":null,"pr_created_at":"2025-09-15T02:11:09.000Z","version_change":"1.16.0 → 1.16.1","issue":{"uuid":"2827532165","node_id":"PR_kwDOK9XgTc6oiLeF","number":1072,"state":"open","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T02:11:09.000Z","updated_at":"2025-09-15T02:11:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1072","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1072","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1072/packages"}},{"old_version":"1.16.0","new_version":"1.16.1","update_type":"patch","path":null,"pr_created_at":"2025-09-11T02:41:08.000Z","version_change":"1.16.0 → 1.16.1","issue":{"uuid":"2817354936","node_id":"PR_kwDOK9XgTc6n7Wy4","number":1069,"state":"open","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-11T02:41:08.000Z","updated_at":"2025-09-11T02:41:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1069","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1069","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1069/packages"}},{"old_version":"1.16.0","new_version":"1.16.1","update_type":"patch","path":null,"pr_created_at":"2025-09-10T02:32:58.000Z","version_change":"1.16.0 → 1.16.1","issue":{"uuid":"2813924899","node_id":"PR_kwDOK9XgTc6nuRYj","number":1066,"state":"closed","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-10T02:34:53.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-10T02:32:58.000Z","updated_at":"2025-09-10T02:34:53.000Z","time_to_close":115,"merged_at":"2025-09-10T02:34:53.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1066","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1066","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1066/packages"}},{"old_version":"1.16.0","new_version":"1.16.1","update_type":"patch","path":null,"pr_created_at":"2025-09-09T02:10:50.000Z","version_change":"1.16.0 → 1.16.1","issue":{"uuid":"2810100622","node_id":"PR_kwDOK9XgTc6nfruO","number":1063,"state":"open","title":"chore(dev-deps): Bump yamlfix from 1.16.0 to 1.16.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-09T02:10:50.000Z","updated_at":"2025-09-09T02:11:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(dev-deps): Bump","packages":[{"name":"yamlfix","old_version":"1.16.0","new_version":"1.16.1","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.16.0 to 1.16.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/1.16.1/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.1 (2024-08-23)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epin dependencies for python 3.8\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/lyz-code/yamlfix/commit/6a5face0df477843a884cc46ed2908e2e94a2706\"\u003e\u003ccode\u003e6a5face\u003c/code\u003e\u003c/a\u003e bump: version 1.16.0 → 1.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c7711b22ef54d35741d7a53610ee2c73baa956a0\"\u003e\u003ccode\u003ec7711b2\u003c/code\u003e\u003c/a\u003e fix: pin dependencies for python 3.8\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.16.0...1.16.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.16.0\u0026new-version=1.16.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 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/config-ninja/config-ninja/pull/1063","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/config-ninja%2Fconfig-ninja/issues/1063","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1063/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":"/.github/workflows/requirements","pr_created_at":"2025-09-08T16:43:51.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"3394926926","node_id":"PR_kwDOJ4EBLM6nbEZo","number":1041,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0 in /.github/workflows/requirements","user":"dependabot[bot]","labels":["ci","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T16:43:51.000Z","updated_at":"2025-09-09T01:19:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":"/.github/workflows/requirements","ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/LLNL/benchpark/pull/1041","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fbenchpark/issues/1041","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1041/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":null,"pr_created_at":"2025-09-08T15:36:36.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"2808703407","node_id":"PR_kwDONqPLA86naWmv","number":178,"state":"closed","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-08T15:40:45.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T15:36:36.000Z","updated_at":"2025-09-08T15:40:45.000Z","time_to_close":249,"merged_at":"2025-09-08T15:40:45.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamtheturtle/sphinx-confluencebuilder-bridge/pull/178","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamtheturtle%2Fsphinx-confluencebuilder-bridge/issues/178","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/178/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":null,"pr_created_at":"2025-09-08T15:05:55.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"2808607027","node_id":"PR_kwDOG2myCM6nZ_Ez","number":58,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T15:05:55.000Z","updated_at":"2025-09-08T15:05:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/otherguy/docker-yamlfix/pull/58","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/otherguy%2Fdocker-yamlfix/issues/58","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/58/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":null,"pr_created_at":"2025-09-08T13:39:36.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"2808321840","node_id":"PR_kwDOK0jo8s6nY5cw","number":42,"state":"closed","title":"chore(deps): bump the python-packages group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-09-14T18:15:02.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T13:39:36.000Z","updated_at":"2025-09-14T18:15:02.000Z","time_to_close":534926,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-packages","update_count":3,"packages":[{"name":"hypothesis","old_version":"6.137.2","new_version":"6.138.15","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"},{"name":"tox","old_version":"4.28.4","new_version":"4.30.2","repository_url":"https://github.com/tox-dev/tox"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 3 updates in the / directory: [hypothesis](https://github.com/HypothesisWorks/hypothesis), [yamlfix](https://github.com/lyz-code/yamlfix) and [tox](https://github.com/tox-dev/tox).\n\nUpdates `hypothesis` from 6.137.2 to 6.138.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.15\u003c/h2\u003e\n\u003cp\u003eRefactor some stateful testing internals for easier use by third-party\nlibraries.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-15\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.14\u003c/h2\u003e\n\u003cp\u003ePatch files written by hypothesis now use a deterministic ordering\nwhen multiple \u0026quot;\u003ca href=\"https://github.com/example\"\u003e\u003ccode\u003e@​example\u003c/code\u003e\u003c/a\u003e\u0026quot; decorators are present.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-14\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.13\u003c/h2\u003e\n\u003cp\u003eFix a typo affecting pretty-printing of lambdas with complex default\narguments.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-13\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.12\u003c/h2\u003e\n\u003cp\u003eImprove automatic detection of the CI profile on various vendor-\nspecific CI systems.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-12\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.11\u003c/h2\u003e\n\u003cp\u003eThis patch updates our vendored list of top-level domains, which is\nused by the provisional \u0026quot;domains()\u0026quot; strategy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-11\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.10\u003c/h2\u003e\n\u003cp\u003eInternal refactor to simplify \u0026quot;SearchStrategy\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-10\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.9\u003c/h2\u003e\n\u003cp\u003eThis patch further improves stringification of lambdas, by never\nreturning a lambda source unless it is confirmed to compile to the\nsame code object. This stricter check makes it possible to widen the\nsearch for a matching source block, so that it can often be found even\nif the file has been edited.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.8\u003c/h2\u003e\n\u003cp\u003eFixes a race condition under threading when using \u0026quot;deferred()\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-138-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.138.7\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/HypothesisWorks/hypothesis/commit/db13c0458a600e1c8980ea757573b6aa3f47e0dc\"\u003e\u003ccode\u003edb13c04\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.15 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/ebcb029cec26da3fa8248a0ea3424dfba2daf4f1\"\u003e\u003ccode\u003eebcb029\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4535\"\u003e#4535\u003c/a\u003e from Liam-DeVoe/stateful-internals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c63a2542bc5dcdc9371dc1cade5404b280a5ccaf\"\u003e\u003ccode\u003ec63a254\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4534\"\u003e#4534\u003c/a\u003e from HypothesisWorks/create-pull-request/patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/96a30ebab30fa170ec0c1aea576b12392b4a7729\"\u003e\u003ccode\u003e96a30eb\u003c/code\u003e\u003c/a\u003e less flaky\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e617e45fe8ac3c9abd017998f42e590959e36f9e\"\u003e\u003ccode\u003ee617e45\u003c/code\u003e\u003c/a\u003e drop factory param from run_state_machine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/448fb5d29c16e148c1d50ec8eae3d0ac02ddf5d2\"\u003e\u003ccode\u003e448fb5d\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/43cbd618c201b10d084ac430ab05fbdf8c4fd836\"\u003e\u003ccode\u003e43cbd61\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.14 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0113a7751e5d14d0d37c70f077a5f62ee197b771\"\u003e\u003ccode\u003e0113a77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4533\"\u003e#4533\u003c/a\u003e from Liam-DeVoe/next2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2eec6ee2b3457aa098c6334b20e4ea614f679d6b\"\u003e\u003ccode\u003e2eec6ee\u003c/code\u003e\u003c/a\u003e preserve examples order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/f09c331c6b39d4a6193e860ac1374ef2d8f35c7d\"\u003e\u003ccode\u003ef09c331\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.138.13 and update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.137.2...hypothesis-python-6.138.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yamlfix` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tox` from 4.28.4 to 4.30.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/releases\"\u003etox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.30.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.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/tox-dev/tox/pull/3603\"\u003etox-dev/tox#3603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure automatically provisioned environment is torn down by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3601\"\u003etox-dev/tox#3601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows 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/tox-dev/tox/pull/3604\"\u003etox-dev/tox#3604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.1...4.30.2\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.1...4.30.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build backend by \u003ca href=\"https://github.com/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\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/vytas7\"\u003e\u003ccode\u003e@​vytas7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3530\"\u003etox-dev/tox#3530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.30.0...4.30.1\"\u003ehttps://github.com/tox-dev/tox/compare/4.30.0...4.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.30.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass through \u003ccode\u003eCI\u003c/code\u003e as \u003ccode\u003e__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI\u003c/code\u003e by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3596\"\u003etox-dev/tox#3596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the built docs HTML path hint in \u003ccode\u003etox.toml\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3594\"\u003etox-dev/tox#3594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3595\"\u003etox-dev/tox#3595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: provide clear messaging about config file loading by \u003ca href=\"https://github.com/ssbarnea\"\u003e\u003ccode\u003e@​ssbarnea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3578\"\u003etox-dev/tox#3578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3598\"\u003etox-dev/tox#3598\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/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3592\"\u003etox-dev/tox#3592\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.29.0...4.30.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.29.0...4.30.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: environment variables contain strings by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3575\"\u003etox-dev/tox#3575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐍 Fix sys_platform Fixture Leakage breaking the CI by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3589\"\u003etox-dev/tox#3589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose a new \u003ccode\u003etox_extend_envs\u003c/code\u003e hook in plugins API by \u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/tox/pull/3591\"\u003etox-dev/tox#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.29.0\"\u003ehttps://github.com/tox-dev/tox/compare/4.28.4...4.29.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/tox/blob/main/docs/changelog.rst\"\u003etox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.30.2 (2025-09-04)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.2\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend\n  if used in conjunction with the ``--installpkg`` option. This has been fixed by properly tearing down the automatically\n  provisioned environment after the tests.\n  - by :user:`vytas7` (:issue:`3600`)\n\u003ch2\u003ev4.30.1 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eBugfixes - 4.30.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent tox from hanging upon exit due to orphaned build threads and subprocesses when the \u003ccode\u003e--installpkg\u003c/code\u003e option is\nused with \u003cem\u003esdist\u003c/em\u003e.\n\u003cul\u003e\n\u003cli\u003eby :user:\u003ccode\u003evytas7\u003c/code\u003e (:issue:\u003ccode\u003e3530\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0 (2025-09-03)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.30.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add ``__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI``, which passes through the ``CI`` variable if present. This is intended for use by other libraries to detect if tox is running under CI. (:issue:`3442`)\n\u003cp\u003eBugfixes - 4.30.0\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMakes the error message more clear when pyproject.toml file cannot be loaded\nor is missing expected keys. (:issue:\u003ccode\u003e3578\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe :func:\u003ccode\u003etox_extend_envs() hook \u0026lt;tox.plugin.spec.tox_extend_envs\u0026gt;\u003c/code\u003e\nrecently added in :pull:\u003ccode\u003e3591\u003c/code\u003e turned out to not work well with\n\u003ccode\u003etox run\u003c/code\u003e. It was fixed internally, not to exhaust the underlying\niterator on the first use.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e (:issue:\u003ccode\u003e3598\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.29.0 (2025-08-29)\u003c/h2\u003e\n\u003cp\u003eFeatures - 4.29.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- A new tox life cycle event is now exposed for use via :doc:`Plugins\n  API \u0026lt;/plugins\u0026gt;` -- by :user:`webknjaz`.\n\u003cp\u003eThe corresponding hook point is :func:\u003ccode\u003etox_extend_envs \u0026amp;lt;tox.plugin.spec.tox_extend_envs\u0026amp;gt;\u003c/code\u003e. It allows plugin authors to\ndeclare ephemeral environments that they can then populate through\nthe in-memory configuration loader interface.\u003c/p\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/5e0784a7f5ea5f89c089351c9a7e23863bd131b9\"\u003e\u003ccode\u003e5e0784a\u003c/code\u003e\u003c/a\u003e release 4.30.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/64e8a34883369a80350b311ceb3550f30931cd51\"\u003e\u003ccode\u003e64e8a34\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3604\"\u003e#3604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/723008808899afec3c1aa7412bd7771694d66f5a\"\u003e\u003ccode\u003e7230088\u003c/code\u003e\u003c/a\u003e Ensure automatically provisioned environment is torn down (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/2c31dbcbfc4d28944b4116b86a70420a815a012a\"\u003e\u003ccode\u003e2c31dbc\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3603\"\u003e#3603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/b33a43c270eb87e61833b7ed934b401d23aeded5\"\u003e\u003ccode\u003eb33a43c\u003c/code\u003e\u003c/a\u003e release 4.30.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/9ea1c3223aef5d919dcd44baf0bf2de4aedbf7f7\"\u003e\u003ccode\u003e9ea1c32\u003c/code\u003e\u003c/a\u003e Prevent Tox from hanging with \u003ccode\u003e--installpkg\u003c/code\u003e sdist due to orphaned build back...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/aa90652cd6b451ca1cf75144467b23d32daab448\"\u003e\u003ccode\u003eaa90652\u003c/code\u003e\u003c/a\u003e release 4.30.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/48fecab4a8691674448c39ab7cde6531038fb308\"\u003e\u003ccode\u003e48fecab\u003c/code\u003e\u003c/a\u003e Ensure \u003ccode\u003etox_extend_envs\u003c/code\u003e list can be read twice (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3598\"\u003e#3598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/0b8f66f259f8d0ab413d5041834073f1f9066231\"\u003e\u003ccode\u003e0b8f66f\u003c/code\u003e\u003c/a\u003e fix: provide clear messaging about config file loading (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3578\"\u003e#3578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/tox/commit/adf0997b760ecd2a877e0f42f01da996911f6f18\"\u003e\u003ccode\u003eadf0997\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;version added\u0026quot; note for \u003ccode\u003etox_extend_envs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/tox/issues/3595\"\u003e#3595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/tox/compare/4.28.4...4.30.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/mpenning/ciscoconfparse2/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpenning%2Fciscoconfparse2/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":null,"pr_created_at":"2025-09-08T13:24:04.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"3394218597","node_id":"PR_kwDOMrYkps6nYrIv","number":495,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T13:24:04.000Z","updated_at":"2025-09-08T13:25:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamtheturtle/sybil-extras/pull/495","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamtheturtle%2Fsybil-extras/issues/495","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/495/packages"}},{"old_version":"1.17.0","new_version":"1.18.0","update_type":"minor","path":null,"pr_created_at":"2025-09-08T11:28:52.000Z","version_change":"1.17.0 → 1.18.0","issue":{"uuid":"3393800198","node_id":"PR_kwDOCV11XM6nXQDk","number":1200,"state":"open","title":"Bump yamlfix from 1.17.0 to 1.18.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T11:28:52.000Z","updated_at":"2025-09-08T11:30:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"yamlfix","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/lyz-code/yamlfix"}],"path":null,"ecosystem":"pip"},"body":"Bumps [yamlfix](https://github.com/lyz-code/yamlfix) from 1.17.0 to 1.18.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lyz-code/yamlfix/blob/main/CHANGELOG.md\"\u003eyamlfix's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.18.0 (2025-09-05)\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/881308160e4589cf886919438a3ed0acba42ea0e\"\u003e\u003ccode\u003e8813081\u003c/code\u003e\u003c/a\u003e bump: version 1.17.0 → 1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/705627e14ece836dbfc685800b13d1fe3cff2c15\"\u003e\u003ccode\u003e705627e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/296\"\u003e#296\u003c/a\u003e from fferegrino/cache-glob-files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/12d7822856e424dbf72e35df61591d0f6b88ad38\"\u003e\u003ccode\u003e12d7822\u003c/code\u003e\u003c/a\u003e Increase time\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/c23dadcf23946282a8cd34acab67f453ff61514a\"\u003e\u003ccode\u003ec23dadc\u003c/code\u003e\u003c/a\u003e Update test to conform to linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/15e88a997829fa23d6446bf38dbd51c6d8495640\"\u003e\u003ccode\u003e15e88a9\u003c/code\u003e\u003c/a\u003e Cache globbed files for speed increase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d6093d714eb4fe25cb046219db952112790e78ea\"\u003e\u003ccode\u003ed6093d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lyz-code/yamlfix/issues/299\"\u003e#299\u003c/a\u003e from fferegrino/drop-3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/1345c5b2e32241594163c22eed47aaa1b154e685\"\u003e\u003ccode\u003e1345c5b\u003c/code\u003e\u003c/a\u003e Fix incompatibility with mkdocstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/d472287d66eed0ab0cec3d1ff269e676f22dfb69\"\u003e\u003ccode\u003ed472287\u003c/code\u003e\u003c/a\u003e Temporary ignore cryptography issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/735de1ed98d1e4d058d9002e385b6bd1aa8ad6b7\"\u003e\u003ccode\u003e735de1e\u003c/code\u003e\u003c/a\u003e Change typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lyz-code/yamlfix/commit/48d02097e7f7577ce9662cf2534de3d8086fe9cb\"\u003e\u003ccode\u003e48d0209\u003c/code\u003e\u003c/a\u003e Remove 3.12\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lyz-code/yamlfix/compare/1.17.0...1.18.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=yamlfix\u0026package-manager=pip\u0026previous-version=1.17.0\u0026new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamtheturtle/sphinx-substitution-extensions/pull/1200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamtheturtle%2Fsphinx-substitution-extensions/issues/1200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1200/packages"}}]}